ブログ
【WordPress】まれによくあるURL問題
地味に問題になったり。
WordPressのURL(パーマリンク)は
ドメイン / 固定ページスラッグ
ドメイン / カスタムポストスラッグ / 記事ID
のようになっています。
カスタムポストなんかはパーマリンク設定で調整できますね。
URL(パーマリンク)を調整するadd_rewrite_rule
なんのフレームワークも使っていない場合は、ディレクトリの配置・ディレクトリ名でURLを操作できますが、WordPressを使っている場合その手は使えないので
地味に困ることがまれによくあります。
そんなときには「add_rewrite_rule」を使います。
たとえば、検索ページを作成する場合、通常
ドメイン / ?s=・・・
といった形になりますが、これを
ドメイン / search /?s=・・・
というように検索ページと分かりやすくするため「search」を入れたい、
さらに「s=」がカッコ悪いので、「s=」を消したいなんてときは
add_rewrite_rule('search/?$', 'index.php?s=', 'top');
といったコードを追加します。
そうすると
「ドメイン / search」にアクセスする
というのは
「ドメイン / index.php?s=」にアクセスする
と同じ意味になります。
普段はあまり利用しないかと思いますが、覚えておくとまれによく役に立ちます。