很抱歉,如果这是一个简单/愚蠢的问题,但我仍在掌握WordPress搜索的功能。
我想用只查询特定自定义帖子类型及其元字段的自定义搜索来完全替换模板中的标准搜索。我有一个搜索表单,可以执行此操作并进行搜索。返回正确数据的php。However, 搜索将不起作用,除非我包含一个名为“s”的输入字段,并且它不是空的。我想WP需要这个来访问搜索。php?
我不需要搜索字段,因为我的搜索是基于自定义分类法和元字段的。那么,如果没有此字段,我如何仍然使用搜索?
这可能吗?
SO网友:s_ha_dum
我想这对你自己来说太难了。如果没有所有的细节,我无法提供有效的解决方案,但我建议使用s
参数,而不是试图删除它。正如您所注意到的,该参数很重要。
使用参数加上启用的过滤器pre_get_posts
控制搜索,而不是完全劫持它。
function alter_search_wpse_105761($qry) {
if ($qry->is_search()) {
$qry->set(\'post_type\',\'your-post-type\');
// and other conditions
}
}
add_action(\'pre_get_posts\',\'alter_search_wpse_105761\');
有很多
questions and answers here mentioning pre_get_posts
因此,确定细节应该不难,您可以使用其他细节编辑问题,以获得更具体的回答。