搜索不工作在我的WordPress博客


Search does not work in my WordPress blog

搜索不工作在我的wordpress博客。每次我用关键词搜索,结果都是零,但是我知道这个词在我的博客里存在了一千次。

结构:

  1. 我有我自己的主题基于二十(几乎相同)。
  2. 搜索被放在侧边栏中,我使用搜索小部件在前端显示它。
  3. 表单在my searchform.php中,代码:

    <form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
      <label for="s" class="assistive-text"><?php _e( 'Search', 'ilwebdesign' ); ?></label>
      <input type="text" class="field" name="s" id="s" placeholder="<?php esc_attr_e( 'Search', 'ilwebdesign' ); ?>" />
      <input type="submit" class="submit" name="submit" id="searchsubmit" value="<?php esc_attr_e( 'Search', 'ilwebdesign' ); ?>" />
    </form>
    
  4. 输出应该显示在search.php文件生成的页面上。

我猜重定向(一个url)应该有问题,因为当我提交搜索,零结果显示在我的错误页面,而不是搜索页面。它重定向我的最后一个页面:http://webdesign.igorlaszlo.com/blog/undefined…

也许这个问题来自于我的wp博客安装在子域的事实?: http://webdesign.igorlaszlo.com/blog/

通常我没有搜索问题,系统工作得很好,因为:我安装了搜索一切wp插件,希望它能有所帮助。它安装了一个试用搜索在管理方面,当我用它搜索,它的工作,它重定向到我的主页(帖子列表),甚至突出显示的词。问题是,这个插件必须使用默认的wp搜索表单,它不能在前端工作,即使有这个插件…

你能告诉我我该怎么做才能正常工作吗?

这看起来不像是由重写规则或子域托管引起的问题。

这个/undefined页面实际上是一个404页面(检查一下,文章标签有类"post error404 not-found")。

我尝试附加"? "s=Blogger"链接到你的wp博客url,它会正常显示结果。

我几乎可以肯定它取决于加载的许多javascript库之一,可能是预加载器,我猜罪魁祸首js在搜索结果url中的相等字符有一些问题。

附带说明一下,看起来您加载了两次jquery, 1.11在

和1.10.2。在底部

我建议把这个规则添加到你的。htaccess:

RewriteCond %{QUERY_STRING} s=(.+)'&
RewriteRule ^$ /search/%1/? [R,L]

(来自http://wpengineer.com/2258/change-the-search-url-of-wordpress/的评论)

这将像webdesign.igorlaszlo.com/blog/?s=Blogger这样的url重写为webdesign.igorlaszlo.com/blog/search/Blogger,如果我对预加载器的看法是正确的,可能会解决这个问题。

如果它不工作,它可能有助于尝试禁用一个接一个插件,以摆脱他们的侧加载脚本,并重新加载主页,直到搜索工作。

如果不工作,可能不是插件的问题,而是主题加载脚本的问题。