我可以从搜索和存档中排除自定义 post 类型的特定类别吗?
Can I exclude a specific category of a custom post type from both search and archives?
我有一个自定义 post 类型“课程”,此 post 类型中类别的分类法是“课程类别”。
我有一个名为“学院”的课程类别,我想从任何搜索以及该自定义 post 类型的任何存档页面中排除该类别。
现在我有这段代码,但它似乎不起作用。它仅用于搜索排除,但我需要在 搜索页面和存档页面 .
中排除类别
function wpb_search_filter( $query ) {
if ( $query->is_search && !is_admin() )
$query->set('post_type', array('courses');
$query->set( 'course-category','-68' );
return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );
您尝试过使用 is_post_type_archive() 吗?
function wpb_search_filter( $query ) {
if ( $query->is_search && !is_admin() || $query->is_main_query() && !is_admin() && $query->is_post_type_archive('courses') ) {
$query->set('post_type', array('courses');
$query->set( 'course-category','-68' );
return $query;
}
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );
我有一个自定义 post 类型“课程”,此 post 类型中类别的分类法是“课程类别”。
我有一个名为“学院”的课程类别,我想从任何搜索以及该自定义 post 类型的任何存档页面中排除该类别。
现在我有这段代码,但它似乎不起作用。它仅用于搜索排除,但我需要在 搜索页面和存档页面 .
中排除类别function wpb_search_filter( $query ) {
if ( $query->is_search && !is_admin() )
$query->set('post_type', array('courses');
$query->set( 'course-category','-68' );
return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );
您尝试过使用 is_post_type_archive() 吗?
function wpb_search_filter( $query ) {
if ( $query->is_search && !is_admin() || $query->is_main_query() && !is_admin() && $query->is_post_type_archive('courses') ) {
$query->set('post_type', array('courses');
$query->set( 'course-category','-68' );
return $query;
}
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );