如果你的WordPress站点添加了自定义文章类型,请记得让WordPress默认搜索支持自定义文章类型,即可以搜索自定义文章类型的内容。实现的方法很简单,将下面的代码添加到主题的functions.php 文件中即可:
- //让搜索支持自定义文章类型
- functionsearchAll($query){
- if($query->is_search){$query->set(‘post_type’,array(‘post’,’books’,‘product’,’works’));}
- return$query;
- }
- add_filter(‘the_search_query’,‘searchAll’);
注意根据自己的实际修改第 3 行数组(array)中的文章类型别名。
或者也可以将下面的代码添加到当前主题的 functions.php 文件中:
以下代码的功能:让搜索结果支持所有自定义文章类型。
- //让搜索支持所有自定义文章类型
- functioninclude_post_types_in_search($query){
- if(is_search()){
- $post_types=get_post_types(array(‘public‘=>true,‘exclude_from_search’=>false),‘objects’);
- $searchable_types=array();
- if($post_types){
- foreach($post_typesas$type){
- $searchable_types[]=$type->name;
- }
- }
- $query–>set(‘post_type’,$searchable_types);
- }
- return$query;
- }
- add_action(‘pre_get_posts’,‘include_post_types_in_search’);