因此,这绝对让我发疯。我花了几天的时间来解决这个问题,但我无法弄清楚为什么如此困难,因为这肯定是一个非常常见的永久链接结构!
我浏览了数百个答案和帖子,但似乎都无法解决问题。
我只是想要这种结构:
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/