0

我正在尝试构建一个看起来与默认 WP 搜索框有点不同的搜索表单。我可以为此编辑 searchform.php,但我希望它采用插件的形式,以便我可以轻松启用和随意禁用它。但问题是,如果 WP 找到了 searchform.php,它将使用该文件中的表单,因此 add_filter、add_action 之类的技巧不会在这里起作用。所以,我想问这里的人们:是否有某种方法可以实现上述目标。即覆盖searchform.php的代码

另外,如果我将搜索框命名为“s”以外的任何名称,则代码将转到 index.php,而不是 search.php。这一点,我通过放置调试回声和其他奇怪的语句来验证。这可能是什么原因?

在此先感谢您的帮助。

4

1 回答 1

0

好吧,我发现了一个黑客。虽然不是很好,但对我有用。所以我所做的是,在我的插件的激活过滤器中,我编写了代码以将原始 searchform.php(驻留在当前主题文件夹中的那个)重命名为 searchform_orig.php 这样 WP 找不到 searchform.php 等等呈现我已连接到过滤器的搜索表单。同样,在停用部分,我将文件重命名为 searchform.php。可能并不理想,但正在我测试过的 y 系统上工作。尽管我有兴趣了解这种方法中的漏洞/警告。将其标记为答案;-)

于 2013-06-07T05:42:41.723 回答