add_rewrite_rule

説明

void add_rewrite_rule( string $regex, string $redirect [ , string $after = 'bottom' ] )
リライトルールを追加する(リライトルール追加用のデータを登録する)。

パラメータ

  • $regex
    ルールを適用するパターンを指定。
  • $redirect
    ルールにマッチした場合に書き換えるパターンを指定。
  • $after
    ルールを追加する場所として'top'または'bottom'を指定(省略時は'bottom')。

返り値

返り値はありません。

注意

本関数はテーマ(主にfunctions.php)やプラグインで使用可能だが、各phpファイルのロード時はグローバル変数wp_rewriteが存在しないため呼び出すことはできず(呼び出すとエラーになる)、initアクションなどを利用しなければならない。
パラメータ$regexにはリクエストURLからサイトアドレス部分を取り除いた正規表現パターンを指定する。$regex内のグループ化演算子は、パラメータ$redirect内の後方参照パターン($matches[n]のこと。[]内のnは1以上の数)に適用される。

実際にルールを適用されるためには、管理者のパーマリンク設定ページで「変更を保存」ボタンを押す( flush_rewrite_rules関数を呼び出す)。追加したリライトルールを削除したい場合は、そのルールを追加したadd_rewrite_rule関数の記述を削除し、管理者のパーマリンク設定ページで「変更を保存」ボタンを押すこと。


使用例

  • リライトルールを追加する。
    <?php
    function custom_rewrite_rules() {
    	add_rewrite_rule( '^topic\-([0-9]+)?', 'index.php?p=$matches[1]', 'top' );
    }
    add_action( 'init', 'custom_rewrite_rules' );
    ?>

フィルター

実行するフィルターはありません。

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/rewrite.php

最終更新 : 2018年05月27日 10:45



お勧め

6.2に追加されるsearch_columnsパラメータが便利(2023年3月30日 更新)

バージョン6.2では記事検索機能を備えたWP_Queryクラスにsearch_columnsパラメータが追加される。標準のキーワード検索では、タイトル(post_title)、本文(post_content)、抜粋(post_excerpt)が対象になっているが、search_columnsパラメータを使うと対象を絞り込めるようになる。

固定ページのURLの拡張子をhtmlに変更する(2013年3月9日 更新)

固定ページについて、URLを静的ページっぽく拡張子htmlに変更したいという要望を受けることがある。これまでは「.html on PAGES」というプラグインを使っていて特に不満があったわけではないのだが、今回ひょんなことから簡単に対応できることがわかったので、メモ書きしておく。

KUSANAGIでマルチサイト(サブドメイン)を試した(2019年8月6日 更新)

本サイトはサブディレクトリタイプのマルチサイト機能を採用して構築しているが、これまでサブドメインタイプは利用した経験はない。マルチサイト機能のサブドメインタイプは以前から1度は試してみたいと思っており、今回実際にサイトを構築してみた。

Fotepo:プラグイン作ってみました(2019年9月19日 更新)

仕事柄、Chromeの「デベロッパーツール」を使ってページのフォントを変更することがある。そんな時、無効なフォント名を指定してしまったり、フォント名をまちがえることがあり、もう少しお手軽にできないかと思って作ったのが今回紹介するプラグイン「Fotepo」である。

カテゴリー専用の投稿一覧と新規投稿メニューを追加する(2012年1月23日 更新)

サイト更新の1クリックを省くため、特定カテゴリーの投稿に対して同じようにメニューを追加してみた。カスタム投稿タイプの専用投稿メニューみたいな感じである。