您的搜索表单包括:
<input type="hidden" name="post_type" value="postpage" />
因此,当加载搜索页面时,查询变量“post\\u type”设置为加载“postpage”类型的帖子。
由于帖子的类型为“post”,页面的类型为“page”,两者都不是“postpage”,因此您无法获得预期的结果。
下次,不要将保留查询变量用于GET或POST参数。
但除此之外,如果要修改主查询的功能,请使用pre_get_posts
过滤器,例如:
function search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_search) {
$query->set(\'post_type\', array( \'post\', \'page\' ) );
}
}
}
add_action(\'pre_get_posts\',\'search_filter\');
其他注意事项:
过多的标签垃圾,这相当于我在每句话的开头自我介绍,然后说再见,你的手指打字速度太快了,省去了你的力气,让事情更容易阅读,因此使用{}大括号和缩进,我知道法典有时会有例子说你应该使用它,但大多数编辑只会使用大括号匹配{}
. 如果必须使用if(): endif;
然后坚持语法,不要混合使用这两种语法每行始终有一条语句/命令,当错误消息显示第500行时,您不想在该行上找到5个不同的内容来区分,不要使用内联脚本属性,例如onblur
, 这很糟糕,把行为和表现混为一谈。查找相关jQuery事件