Php 从自定义帖子类型中排除某个术语的帖子
帖子类型为Press。 分类是按类型(slug=presstype)。 术语是新闻稿(slug=release) 我只想在我的函数文件中添加一些PHP,将任何名为“release”的帖子从普通Wordpress的自定义帖子类型循环(例如mydomain.com/press)中排除,而不是从其他可能包含press的自定义循环中排除Php 从自定义帖子类型中排除某个术语的帖子,php,wordpress,function,Php,Wordpress,Function,帖子类型为Press。 分类是按类型(slug=presstype)。 术语是新闻稿(slug=release) 我只想在我的函数文件中添加一些PHP,将任何名为“release”的帖子从普通Wordpress的自定义帖子类型循环(例如mydomain.com/press)中排除,而不是从其他可能包含press的自定义循环中排除 搜索了这么多不同的方法,但却找不到有效的解决方案。有谁知道functions.php最简单的代码可以做到这一点吗?您是否尝试过用pre\u get\u posts简单地
搜索了这么多不同的方法,但却找不到有效的解决方案。有谁知道functions.php最简单的代码可以做到这一点吗?您是否尝试过用
pre\u get\u posts
简单地删除术语release
?为了语义清晰,您可以使用函数包装它。因此,仅在/press
页面(press Archive)上,设置了一个参数以排除任何带有术语slugrelease
的帖子
add_action( 'pre_get_posts', 'remove_release_from_press' );
function remove_release_from_press( $query ) {
if( is_post_type_archive( 'press' ) ){
$tax_query = array([
'taxonomy' => 'presstype',
'field' => 'slug',
'terms' => 'release',
'operator' => 'NOT IN',
]);
$query->set( 'tax_query', $tax_query );
}
}
请编辑您的问题,以更清楚地说明您的输入是什么,您期望的输出是什么,以及您到目前为止尝试获得它的内容。XHYNK,这非常有效。谢谢:)