回显home_url()返回搜索格式.php中的当前url

时间:2016-05-03 作者:Kamil

在里面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/ 正如所料。

你知道为什么会这样吗?我错过什么了吗?

1 个回复
SO网友:Refilon

正如@cjbj所说,使用home_url() 没有斜杠。

home\\u url($path,$scheme);-$路径(字符串)(可选)相对于主URL的路径。

而不是home_url() 您可以使用bloginfo(\'url\') 获取wordpress网站的根/主页。

相关推荐

nothing happen in search form

我想创建搜索表单,但当我搜索时什么都没有发生,这是代码:索引。php: <div class=\"tech-btm\"> <?php get_search_form();?> </div> 搜索表单:<form role=\"search\" method=\"get\" id=\"searchform\" action=\"<?php echo home_url(\'/\')?>\"> &