だから、これは私を完全に狂気にさせています。私はこれを修正するために何日も費やしてきましたが、これが非常に一般的なパーマリンク構造であるので、なぜこれがそんなに難しいのか理解できません!
私は何百もの回答と投稿を調べましたが、どれも問題を解決していないようです。
私はこの構造が欲しいだけです:
mysite.com/custom-post-type/custom-taxonomy-term/post-name
だから私は以下を達成します:
mysite.com/literature - all literature posts
mysite.com/literature/fiction - all literature posts with 'fiction' term
mysite.com/literature/fiction/mybook - the post
何かを試すたびに404エラーが発生するか、ページネーションが機能しません。
なぜこんなに難しいのかわかりません!
どんな助けも本当に感謝しています!
ありがとうございました
================================================== ==== ================== 追加情報 ==================
現在、次のように投稿タイプと分類法を登録しています。
register_post_type('literature',$args);
'rewrite' => array('slug' => 'literature/books','with_front' => false),
register_taxonomy('literature_category',array('literature'), array(
'rewrite' => array( 'slug' => 'literature','with_front' => false ),
両方を「文学」として登録すると、mysite.com / literatureページに404が表示されますが、これはパーマリンクを次のように表示します。 mysite.com/literature/books/mybook
この質問に関するアドバイスに従ってください- カスタム投稿タイプ、分類、およびパーマリンク
これを関数に追加しました:
function filter_post_type_link($link, $post) {
if ($post->post_type != 'literature')
return $link;
if ($cats = get_the_terms($post->ID, 'literature_category'))
$link = str_replace('%literature_category%', array_pop($cats)->slug, $link);
return $link;
}
add_filter('post_type_link', 'filter_post_type_link', 10, 2);
投稿タイプをに'slug' => 'literature/%literature_category%'
変更し、分類をに変更しました'slug' => 'literature'
これはmysite.com/literature
ページネーションが機能しないことを除いて素晴らしい働きをするので、次のURLで404エラーが発生します。
mysite.com/literature/page/2/