我希望搜索不要在其他页面上搜索自定义帖子类型“mitgliederbereich”,当您在“mitgliederbereich”页面上时,搜索中只应显示“mitgliederbereich”帖子。我怎样才能做到这一点?这是我的功能。函数的php代码。
function mitgliederbereich_filter_search($query) {
global $post;
if ($post->post_type == "mitgliederbereich") {
if (!$query->is_admin && $query->is_search) {
$query->set(\'post_type\', array(\'post\'));
}
return $query;
} else {
if (!$query->is_admin && $query->is_search) {
$query->set(\'post_type\', array(\'mitgliederbereich\'));
}
return $query;
}
}
add_filter(\'pre_get_posts\', \'mitgliederbereich_filter_search\');
最合适的回答,由SO网友:Krishna Joshi 整理而成
尝试以下代码
function mitgliederbereich_filter_search($query) {
global $post;
global $wp_post_types;
if ($post->post_type == "mitgliederbereich") {
$wp_post_types[\'mitgliederbereich\']->exclude_from_search = false;
} else {
$wp_post_types[\'mitgliederbereich\']->exclude_from_search = true;
}
}
add_filter(\'pre_get_posts\', \'mitgliederbereich_filter_search\');
希望这有帮助。