有些情况下,您可能希望将WordPress搜索结果限制为特定的POST类型,而不仅仅是默认值。您的主题可能有您希望包含在搜索中的自定义邮件类型,或者您只希望搜索自定义邮件类型,而不搜索邮件或页面。这是相对简单的没有插件在可能的情况下,这通常是最好的练习。
打开主题的函数.PHP文件,并在底部复制下面的代码片段
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'
);
注意它所说的线
$query
->set(
'post_type'
,
array
(
'post'
,
'page'
));
改变它说“POST”、“页面”到你希望搜索过滤的任何帖子类型的那一行。例如,你的代码看起来是这样的:
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'
);
请务必将自定义邮政类型的名称改为您自己的。
希望下次您需要通过POST类型限制WordPress搜索结果。一定要看看我们的其他WordPress教程更有用的小窍门!