カスタムタクソノミーURLをカスタマイズ!カスタム投稿スラッグを入れる

2017/04/27

(更新日:2023/10/19

カスタムタクソノミーURLをカスタマイズ!カスタム投稿スラッグを入れる

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」と入れます。 ※画像参照

以上です!