/idにできた!と思ったのも束の間…
こちらの記事( https://hacknote.jp/archives/13340/ )を参考に、カスタム投稿タイプのパーマリンクを『ドメイン名/id/』にすることに成功した!…と思ったら、なんと固定ページを表示しようとするとなぜか『front-page.php』が使われるじゃありませんか。なんてこったい…
やりたいこと
カスタム投稿タイプのURL:
『ドメイン名/id/』
固定ページ:
テンプレート階層通りのテンプレートファイルが使われるようにする。
解決方法
※追記
page-$slug.phpは動きますが、page.phpはダメでした。。。誰か助けて。
functions.phpに以下のように記述しました。
参考サイトとはかけ離れましたが…なんとかなった…よかった…。
add_filter('post_type_link', 'book_post_type_link', 1, 2);
function book_post_type_link($link, $post)
{
if ('book' === $post->post_type) {
return home_url('/' . $post->ID . '/');
} else {
return $link;
}
}
add_filter('rewrite_rules_array', 'book_rewrite_rules_array');
function book_rewrite_rules_array($rules)
{
$new_rules = array(
'(\d*)$' => 'index.php?post_type=book&p=$matches[1]',
);
return $new_rules + $rules;
}
カスタム投稿タイプのslugを『book』と仮定して書いています。
置き換えて活用してください。