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



お勧め

WP_List_Tableクラスの「一括操作」フォームを使ってみた(2018年5月27日 更新)

今回は「WP_List_Tableクラスを使ってみた」の続き。投稿一覧やプラグインページなどにある「一括操作」(Bulkアクション)フォーム対応に関するメモである。

wp_titleからwp_get_document_titleへ(2018年5月27日 更新)

先週、WordPress 4.4 beta1(以降4.4 beta1)が公開されました。この4.4 beta1では新テーマ「Twenty Sixteen」が追加されたほか、wp-includesディレクトリ以下のファイルが大幅に変更された感じです。

WordPressのコーディングスタンダードとPSR-2がかみ合わない(2018年5月27日 更新)

先日パソコンのストレージを換装して開発環境を再構築。エディタのEclipseは「Neon(4.6)」から「Oxygen(4.7)」へ切り替わった。コードを書き始めるとそこはかとなく違和感があり、調べていくとPHPの「Code Style(Formatter)」が「PSR-2」に設定されていることが原因だった。

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

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

さくらのVPSでKUSANAGI#3(2018年5月27日 更新)

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