質問: カスタム投稿を作成し、タクソノミーは作成せずに WP標準のカテゴリーを使用しています。 ### 【現在起きている問題】 カスタム投稿で投稿した記事のカテゴリー名をクリックすると (タイトルの上や横にあるような部分です。) ***http://myurl/category/カテゴリー名*** こういうページにリンクされており、このままではアーカイブが表示されません。 上記のページは通常の投稿では問題なく表示されます。 ちなみにカスタム投稿のアーカイブページ自体は ***http://myurl/カスタム投稿名/category/カテゴリー名*** こちらで打ち込むと問題なく表示されます。 ### 【実現させたいこと】 ページ上にあるカテゴリー名のリンクをクリックすると ***http://myurl/カスタム投稿名/category/カテゴリー名*** というアーカイブページに飛ばせるようにしたい。 ``` ', '' ); ?> ``` おそらく**post-meta.php**の ``` ``` これがカテゴリーのみになっているからだと思うのですが、 ここを**カスタム投稿名+カテゴリーを取得する**コードに変更したいのですが 可能でしょうか? よろしくお願いいたします。
回答: 書き換えるだけなら 例えばこういう感じですかね。(未検証) ``` add_filter( 'term_link', 'my_term_link', 10, 3 ); function my_term_link( $termlink, $term, $taxonomy ) { if ( !is_admin() && $taxonomy === 'category' ) { $termlink = str_replace( '/category/', '/カスタム投稿名/category/', $termlink ); } return $termlink; } ``` > > このままではアーカイブが表示されません。 > > > 通常のカテゴリページでカスタム投稿を表示するにはpre_get_postsでpost_typeの指定を変える必要が有ります。 【【wordpress】pre_get_postsを使ってみませんか?】 【WP_Queryの使い方をPHPコードにまとめた便利なコード・スニペット】