"locations"というカスタム投稿タイプがあります。
私は "スターバックス"という場所があります。これを見るには "/ location/starbucks"に行きます。
私はURLに "coffee-shop"を追加したいので、 "/ location/coffee-shop/starbucks"というパスはブラウザのURLを維持しながら "starbucks"ページをロードします。
私は自分のfunctions.phpにこのコードを追加しました
function add_rewrite_rules()
{
add_rewrite_rule('^location/([^/]*)/([^/]*)/?','index.php?pagename=$matches[2]','top');
}
add_action('init', 'add_rewrite_rules');
これは正しく "starbucks"ページをロードしますが、URLを "/ location/starbucks"に変更します。
どのようにして "starbucks"ページをロードし、私のカスタムURLを保持することができますか?
書き換え規則では、pagename
は実際にはカスタム投稿タイプのquery_var
になります。 query_var => 'something_else'
引数でregister_post_type
を使用していない限り、これはカスタム投稿タイプと同じ名前になります。
index.php?locations=$matches[2]