如何解决自定义分类类别从搜索中排除
您好,我正在尝试从搜索查询中排除自定义帖子类别(特定类别 ID)。我的自定义帖子类别分类名称是 review-cat
。我想排除此自定义帖子分类特定 ID。
function wcs_exclude_category_search( $query ) {
if ( $query->is_search ) {
$query->set( 'cat','-33 -46' );
$query->set( 'post_type',array( 'review' ) );
}
return $query;
}
add_action( 'pre_get_posts','wcs_exclude_category_search',1 );
解决方法
我发现了这个。它可以帮助你https://stackoverflow.com/a/52140116/1053190
或下面的代码复制/粘贴来自 https://gist.github.com/billerickson/1332274
/**
* Exclude term from search query
* @author Bill Erickson
* @link http://www.billerickson.net/customize-the-wordpress-query/
*
* @param object $query
*/
function be_modify_search_query( $query ) {
global $wp_the_query;
if( $query === $wp_the_query && $query->is_search() ) {
$tax_query = array(
array(
'taxonomy' => 'category','field' => 'slug','terms' => 'hidden','operator' => 'NOT IN',)
);
$query->set( 'tax_query',$tax_query );
}
}
add_action( 'pre_get_posts','be_modify_search_query' );
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。