以下の書き換えタグを定義しています。
// ADD REWRITE TAG FOR 'VEHICLE MAKES'
add_rewrite_tag('%make%','([^&]+)');
// ADD REWRITE TAG FOR 'BODY STYLES'
add_rewrite_tag('%body-style%','([^&]+)');
// ADD REWRITE TAG FOR 'OTHER TOPICS'
add_rewrite_tag('%topic%','([^&]+)');
私は、変数が存在するどのページにも適用できるように、これらそれぞれのカスタム書き換えを作成しようとしています。
私は幸運にもなしにドキュメントのWPの例を作り直してきました..この書き換えは 'Vehicle Makes'のためのものです。
私はWPが以下を解釈することを目指しています:
http://example.com/make/abc
として
http://example.com?make=abc
と同じパターン
http://example.com?body-style=abc
&http://example.com?topic=abc
いくら試しても、次のようには動作しないようです。
add_rewrite_rule('^nutrition/([^/]*)/([^/]*)/?','index.php?page_id=12&food=$matches[1]&variety=$matches[2]','top');
ありとあらゆる支援は大歓迎です!
その呼び出しに3番目のパラメーターを追加してみましたか?
add_rewrite_tag( '%make%', '([^/]+)', 'make=' );
add_rewrite_rule
関数の使い方は以下の通りです。
init
フックにフックしますquery_vars
フィルタを使用して、新しい書き換えをquery_vars
で利用できるようにします。これがコードスニペットです
add_action('init', 'my_custom_rewrite_rule');
function my_custom_rewrite_rule() {
add_rewrite_rule( 'make/([^/]+)/?$', 'index.php?make=$matches[1]', 'top' );
}
add_filter('query_vars', 'my_rewrite_query_var');
function my_rewrite_query_var( $vars ) {
$vars[] = 'make';
return $vars;
}
それでは、permalink settingsページに行き、Save Changes
をクリックして書き換えルールをフラッシュしてください。
ここで質問をする前に、自分でそれを見つけてみてください。ワードプレスの場合は、まず http://codex.wordpress.org/ をご覧ください。
答えのほとんどはすでに利用可能です。
探しているコードは、関数flush_rewrite_rules()です。
参照: 書き換え規則