在里面searchform.php
我的搜索表单如下所示:
<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( \'/\' ) ); ?>">
<div>
<input type="text" placeholder="<?php _e(\'Type something and hit enter...\', \'wbs\'); ?>" name="s" />
</div>
</form>
然而,我注意到搜索没有按预期进行
?s=
参数未添加到主URL,而是添加到当前URL。
所以,当我在一个帖子页面上时http://example.com/?s=term
我正在http://example.com/post-name/?s=term
. 从存档和页面中搜索时的类似结果。这样搜索显然行不通。
更重要的是,如果我完全删除searchform.php
我得到了同样的结果home_url()
只是没有返回正确的URL。我已经设置了永久链接以发布名称。
有趣的是,简单的跑步<?php echo esc_url( home_url( \'/\' ) ); ?>
在其他文件中(例如。footer.php
) 始终返回http://example.com/
正如所料。
你知道为什么会这样吗?我错过什么了吗?