WordPressでカスタム投稿のURLをRewriteする。
productsというカスタム投稿のタクソノミーは、URL上も/products/以下にしたい場合の記述です。
やり方としては、
・functions.phpにコード追加
・カスタムタクソノミーの設定でリライトURLを設定
する必要があります。
カスタム投稿を以下のように作成した場合を例として
[カスタム投稿]products[タクソノミー]products_category
通常はこんなURLになるのを下のように変更する
[カスタム投稿]/products/xxx(投稿)[タクソノミー]/products_category/xxx(ターム)
↓下のように変更
[カスタム投稿]/products/xxx(投稿)[タクソノミー]/products/category/xxx(ターム)
functions.phpに追加
// タクソノミーURL Rewrite
add_rewrite_rule('products/category/([^/]+)/?$', 'index.php?products_category=$matches[1]', 'top');
ただこれだとページ送り動かないので、ページ送り時の処理も追加。
// タクソノミーURL Rewrite
add_rewrite_rule('products/category/([^/]+)/?$', 'index.php?products_category=$matches[1]', 'top');
// タクソノミーURL ページ送りも設定
add_rewrite_rule('products/category/([^/]+)/page/([0-9]+)/?$', 'index.php?products_category=$matches[1]&paged=$matches[2]', 'top');
カスタムタクソノミーにリライトURLを設定
プラグインのCPT UIを使った例で言いますと、設定場所に「products/category」と入れます。 ※画像参照
以上です!