*

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連発[130/100]

今日はガズレレ大合唱ツアー福島。楽しみです。午前中にどうしても外せない...

記事を読む

金沢へ行こう ロンドン100連発[129/100]

西城秀樹さん、残念でしたね。かなりのヘビースモーカーだったとのこと。タ...

記事を読む

みやこサンセットビーチへ行こう ロンドン100連発 宮古島シリーズ[128/100]

今日はとっても行きたい会合があったのですが、どうしても行かれず断念。あ...

記事を読む

伊良部大橋へ行こう ロンドン100連発 宮古島シリーズ[127/100]

今日はあいにくの雨。 まあ、昨日が良い天気だったのでよしとしましょう...

記事を読む

砂山ビーチへ行こう ロンドン100連発 宮古島シリーズ[126/100]

GW終わって最初の週末。トライアスロン系の方は横浜トライアスロンかホノ...

記事を読む

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

トラックバック用URL:

コメントフィード




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

*

鯖江の眼鏡をかけよう ロンドン100連発[130/100]

今日はガズレレ大合唱ツアー福島。楽しみです。午前中にどうしても外せない...

金沢へ行こう ロンドン100連発[129/100]

西城秀樹さん、残念でしたね。かなりのヘビースモーカーだったとのこと。タ...

みやこサンセットビーチへ行こう ロンドン100連発 宮古島シリーズ[128/100]

今日はとっても行きたい会合があったのですが、どうしても行かれず断念。あ...

伊良部大橋へ行こう ロンドン100連発 宮古島シリーズ[127/100]

今日はあいにくの雨。 まあ、昨日が良い天気だったのでよしとしましょう...

砂山ビーチへ行こう ロンドン100連発 宮古島シリーズ[126/100]

GW終わって最初の週末。トライアスロン系の方は横浜トライアスロンかホノ...

→もっと見る

PAGE TOP ↑