*

WordPress 引数で固定ページ動的出力の rewrite


ちわ、秋田@豊作(@housakuakita‎)です。

WordPress の固定ページ(投稿ページでも可)にショートコードを作成て引数によって変化をつけるのですが、URLをいい感じにしたかったので、ちょいと研究してソースを書いてみました。同じ事で苦労されている方いるかも・・・と思った次第です。

今回はプログラム系なので、興味ない方はまた次回。

今回はリライトの部分をメインにしてます。ショートコードは割愛です。

19be7dd5715dc4e4237b603fac79dfe8_s

リライト

参考にしたのは公式ページ「https://wpdocs.osdn.jp/Rewrite_API/add_rewrite_rule」それ以外にわかりやすい説明サイトがありませんでした。

固定ページを作成

まずはショートコードを配置する固定ページを作成します。

固定ページの IDを記録しておいてください。

固定ページのスラッグ名は「abcd」好きな名前で大丈夫です。

引数は「key」。これも好きなもので大丈夫。

結果、http://ドメイン/abcd/?key=001 でアクセスできるようになります。

001 を 002 にしたりすると、ショートコードにて内容が変わります。

しかし、このアドレスを http://ドメイン/abcd/key/001/ でアクセスさせたい。

公式ページを参考に書いてみました。

ソース

define("DEFINE_URI",    "abcd"); //固定ページスラッグ
define("DEFINE_KEY",    "key");  //パラメータ
define("DEFINE_ID",     "123");  //固定ページID

function my_rewrite_tag() {
  add_rewrite_tag('%'.DEFINE_KEY.'%', '([^&]+)');
}
add_action('init', 'my_rewrite_tag', 10, 0);

function my_rewrite_rule() {
    add_rewrite_rule('^'.DEFINE_URI.'/'.DEFINE_KEY.'/([^/]*)/?','index.php?page_id='.DEFINE_ID.'&'.DEFINE_KEY.'=$matches[1]','top');
}
add_action('init', 'my_rewrite_rule', 10, 0);

こちらを functions.php に書き入れ、パーマリンクの更新をすると http://ドメイン/abcd/key/001/ でアクセス出来るようになります。

WordPress 内部で http://ドメイン/abcd/key/001/ → http://ドメイン/index.php?page_id=123&key=001 への変換を行うようになりした。

まとめ

結構悩んだのですが、出来上がってみると以外とあっさりでした。

ソース使われる方は自己責任でおねがしいます。

関連記事

ブログ全体 WordPress を SSL 化しました

ポケモン GO! 金銀のポケモンがリリースされましたね。 しかし・・...

記事を読む

今年の総括、2015年を振り返ってみる

いや〜早いものでいよいよ今日が仕事納めです。 まあ、最近は日の経...

記事を読む

クミンでダイエット!次のアイアンマンまでに腹割るぞぉ〜!

先日、トライアスロントレーナの「河原 勇人」氏に、内臓脂肪を落とし...

記事を読む

WordPrss カスタムポストタイプのカテゴリリスト出力、ソースコード付

あるサイトを WordPress で構築しているのですが、ありがたい事...

記事を読む

新着記事

本八幡へ行こうロンドン100連発[121/100]

久しぶりに歌系の投稿です(笑)。 若い頃世話になりっぱなしで、25年も...

記事を読む

iOS の メモを使って音声入力にチャレンジしてみました。

Amazon Echo の招待メールが来ないので、しびれを切らして G...

記事を読む

AWS EC2 の Ubuntu に MySQL インストール

今日はデーターベースサーバの MySQL。今じゃオラクルさんが所有して...

記事を読む

AWS EC2 に Postfix をインストール SPF 認証も設定

最近は、サーバも Amazon、ネットショップ(ウクレレ関係を販売)も...

記事を読む

AWS EC2 インスタンスのAMI化(バックアップ)と復元

最近歌ってないなぁ〜なんて思っていたのすが今度の日曜日、本八幡のルート...

記事を読む

コメント/トラックバック

トラックバック用URL:

コメントフィード




管理人にのみ公開されます

*

本八幡へ行こうロンドン100連発[121/100]

久しぶりに歌系の投稿です(笑)。 若い頃世話になりっぱなしで、25年も...

iOS の メモを使って音声入力にチャレンジしてみました。

Amazon Echo の招待メールが来ないので、しびれを切らして G...

AWS EC2 の Ubuntu に MySQL インストール

今日はデーターベースサーバの MySQL。今じゃオラクルさんが所有して...

AWS EC2 に Postfix をインストール SPF 認証も設定

最近は、サーバも Amazon、ネットショップ(ウクレレ関係を販売)も...

AWS EC2 インスタンスのAMI化(バックアップ)と復元

最近歌ってないなぁ〜なんて思っていたのすが今度の日曜日、本八幡のルート...

→もっと見る

PAGE TOP ↑