add_rewrite_rule

(2.1.0以降)
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

関連

お勧めコンテンツ

さくらのVPSでKUSANAGI#3(2017年5月18日 登録)

今回は「前回」の続き。http(80番)をクローズ、そのほかに行った調整作業について整理する。

同じ名前のメタ情報をまとめて削除する(2014年3月21日 登録)

WordPressには、投稿情報、コメント情報、ユーザ情報のそれぞれを拡張できるメタ情報の仕組みが用意されている。投稿情報のメタ情報は「カスタムフィールド」として投稿画面に用意されているので投稿者自身が随時操作できるほか、テーマやプラグインからの操作も容易である。今回の中身はそんなメタ情報の一括削除の話だ。

プラグインのロード順を制御する(2014年6月9日 登録)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

LevelとCapability(2011年4月14日 登録)

プラグインやテーマの管理ページを作成する際など、ユーザのレベルと権限を確認することがある。ここでは、権限グループ別のレベルと権限の有無を整理してみた。

4.2.3でちょっと変わったショートコード(2015年7月25日 登録)

4.3のリリースまであと少しなわけですが、4.2.3が緊急リリースされました。4.2.2とソースコードを比較すると、ざっくりTinyMCE絡みが多い印象を受けたのですが、ショートコード関連も少し変わっていたので簡単にまとめてみました。

最終更新日時 : 2015-09-24 18:39