在某些情况下,您可能希望将WordPress搜索结果限制为特定的帖子类型,而不只是默认的帖子类型。您的主题可能具有要包含在搜索中的自定义帖子类型,或者您可能只想搜索自定义帖子类型而不是帖子或页面。如果没有插件,这相对来说比较简单,通常是最好的做法。
打开主题的functions.php文件,并在底部复制以下代码片段。
1个
2
3
4
5
6
7
|
function 1wd_searchfilter( $query ) { if ( $query ->is_search && !is_admin() ) { $query ->set( 'post_type' , array ( 'post' , 'page' )); } return $query ; } add_filter( 'pre_get_posts' , '1wd_searchfilter' ); |
注意它说的那一行
1个
|
$query ->set( 'post_type' , array ( 'post' , 'page' )); |
将显示“发布”,“页面”的行更改为希望过滤搜索的任何发布类型。因此,例如,您的代码如下所示:
1个
2
3
4
5
6
7
|
function 1wd_searchfilter( $query ) { if ( $query ->is_search && !is_admin() ) { $query ->set( 'post_type' , array ( 'custom_post_type_name_1' , 'custom_post_type_name_2' )); } return $query ; } add_filter( 'pre_get_posts' , '1wd_searchfilter' ); |
确保将自定义帖子类型的名称更改为您自己的名称。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/261980.html