你看错线了。$this_taxonomy
说明要查找的分类法类型(类别、标记、自定义税等),而不是该分类法类型中的实际术语。
话虽如此,你应该看看$previous
和$next
. 更具体地说,get_previous_post_link()
和get_next_post_link()
. 第四个参数是$excluded_terms
当前为空。
codex说您可以提供一个数组或逗号分隔的术语ID列表。
这看起来很难维护,因为每次在分类法中添加新术语时,都必须更新该参数。
但从技术上来说,如果你有类别1
,2
,3
,4
和5
, 然后供应$excluded_terms = \'4,5\';
将这些术语从列表中排除。
因此,如果您想要一个不需要每次添加新类别时都进行更新的方法,我将尝试通过修改主查询来实现将此添加到functions.php
add_action( \'pre_get_posts\', \'my_allowed_cats\' );
function my_allowed_cats( $query ){
$post_type = get_post_type();
if( $post_type == \'post\' || $post_type == \'portfolio\' ){
// Use category ids
$allowed_cats = array(
1,
2,
3,
);
$query->set( \'category__in\', $allowed_cats );
}
}
这是未经测试的,但应该有效