在重命名“%s”中的搜索字段时,Search使用index.php而不是earch.php

时间:2013-04-21 作者:shariqkhan

我正在构建一个自定义搜索表单,其中包含多个搜索框,我将它们从“s”重命名为“searchbox1”。现在WP不使用搜索。php;相反,代码是从索引执行的。php。如何使用搜索。php?

2 个回复
SO网友:tfrommen

好吧s 不仅仅是一个名称/ID,它还是一个查询变量,因为表单的字段是通过GET或POST注入URL的,然后检查URL的s 查询变量。

如果s 定义了查询变量search.php (如果主题中存在)将自动调用。

如果您有多个具有共享相同名称的字段的搜索框,那也没关系。每个搜索框都有自己的表单。

简而言之:将搜索的输入字段重命名回s (或者调整重定向/重写等,在我看来,这是胡说八道)。

SO网友:fuxia

我认为@tf的建议很好。你应该尽量保留这个名字s. 如果你不能做到这一点,你可以过滤template_include 并返回要使用的模板。

想法,未经测试:

if ( isset ( $_GET[\'searchbox1\'] ) )
    add_filter( \'template_include\', \'get_search_template\' );

结束

相关推荐

如何检查是否将searchform.php包含在窗口小部件中?

我想在searchform中输入这样的内容。php:<?php if($widget){ ?> //load serach form for sidebar... <?php }else{ ?> //load different search form for page content (404 page) <?php } ?> 我如何准备$widget 变量或者我应该用另一种方法?像过滤器?或获取模板部件?