搜索结果页面出现问题

时间:2017-10-16 作者:Jackie

提交搜索表单后,当我将永久链接设置为“%post name%”(不是字面上的“homeurl”,而是站点的域)时,站点将指向“homeurl/post name/?s=lorem”,而不是“homeurl/?s=lorem”。

当我将永久链接设置为“/blog/%postname%”时,搜索结果url变为/blog/%postname%/?s=lorem。

搜索表单(searchform.php)上的操作是:

    <?php echo get_home_url(); ?>. 
如果我把它硬编码到主url,也不会起作用。它会在/blog或帖子名称后不断附加搜索查询。

我甚至在函数中添加了以下内容。php,它没有任何效果:

 function search_url_rewrite () {
   if ( is_search() && !empty( $_GET[\'s\'] ) ) {
     wp_redirect( home_url( \'/search/\' ) . urlencode( get_query_var( 
     \'s\' ) ) );
    exit();
   }
}
add_action( \'template_redirect\', \' search_url_rewrite \' );
你知道这里发生了什么吗?还有什么我可以试试的?我已经停用了所有插件并尝试了它。同样的故事。

*****更新(解决方案)*****

因为我是个很傻的文字印刷者

  <?php get_search_form(); ?>
包装在表单标签中

  <form> </form>
我删除了标签,问题停止了,搜索现在工作正常。

1 个回复
SO网友:Md. Amanur Rahman

表单操作应如下所示

action="<?php echo esc_url( home_url( \'/\' ) ); ?>">

结束

相关推荐

Custom Search Results Page

我正在尝试创建自定义搜索结果页面。我不允许直接编辑php文件。我一直在使用[include\\u php]短代码来编写尽可能少的php代码。我试图让用户远离默认的“帖子”页面,因此,当用户搜索时,我想要一个自定义页面,将用户链接到我自己构建的页面,而不是相应的帖子页面。有没有办法不用编辑php文件就能做到这一点?