如何在WordPress 中只搜索指定的文章类型?在http://www.wpbeginner.com上了解到通过WP提供的钩子"pre_get_posts"方法可能实现
该钩子方法可以使你在查询数据库之前对查询条件进行处理,将下面的代码放到主题的functin.php中即可实现在搜索时仅搜索文章内容
/**
* [只对指定的类型进行搜索]
* @param [type] $query [搜索的参数]
*/
function SearchFilter($query) {
//仅搜索时
if ($query->is_search) {
//设定指定的文章类型,这里仅搜索文章
$query->set(‘post_type‘, ‘post‘);
//指定文章和自定义类型
//$query->set(‘post_type‘, array(‘post‘, ‘custom-post-type‘));
//排除指定的文章ID号
//$query-->set( ‘post__not_in‘, array( 10,11,20,105 ) );
//搜索指定的类型
//$query->set(‘cat‘,‘8,15‘);
//搜索条件....
}
return $query;
}
add_filter(‘pre_get_posts‘,‘SearchFilter‘);
参考:
WordPress Plugin API/Action Reference/pre get posts
How to Exclude Pages from WordPress Search Results
时间: 2024-08-06 19:38:05