カスタム投稿のURLの基本設定
このサイトのパーマリンクの構成は
https://~~/waza/wordpress/42
カスタム投稿タイプ名+タームスラッグ+post_id
となっています。
/waza
…の時にはカテゴリー一覧を表示
/waza
/wordpress…の時には記事一覧を表示
/waza
/wordpress/42…の時には記事詳細を表示
CPT UIの設定
Custom Post Type Permalinksの設定
上記までの対応で
/waza
/waza
/wordpress
で思った通りの表示になった。
しかし、詳細ページの/waza
/wordpress/40の時に404エラーが出てしまうので、function.phpにリライトルールを追加して対応した。
function.phpでリライトルールを設定する
function myUrlRewrite($rules){
$myRule = array();
$myRule['waza/([^/]+)/([^/]+)?$'] = 'index.php?post_type=waza&p=$matches[2]';
return array_merge( $myRule, $rules );
}
add_action('rewrite_rules_array', 'myUrlRewrite' );
参考サイト
https://yuki.world/cpt_permalink_build/
https://blog.skylarking.me/2017/12/24/wordpress-custom-post-type-and-taxonomies