【问题标题】:Search does not work in my WordPress blog搜索在我的 WordPress 博客中不起作用
【发布时间】:2014-05-25 14:21:19
【问题描述】:

搜索在我的 wordpress 博客中不起作用。每次我用关键字搜索时,它都会变成零结果,但是我知道这个词在我的博客中存在一千次。

结构:

  1. 我有自己的主题,基于 211(几乎相同)。
  2. 搜索被放置在侧边栏中,我使用搜索小部件将其显示在前端。
  3. 表格在我的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/

通常我没有搜索问题,系统运行良好,因为:我安装了 Search Everything wp 插件以希望它有所帮助。它在管理端安装了一个试用搜索,当我用它搜索时,它可以工作,它会将我重定向到主页(帖子列表),甚至突出显示单词。问题是这个插件必须使用默认的 wp 搜索表单,并且它不能在前端工作,即使有这个插件......

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

【问题讨论】:

  • @Gergo Erdosi - 你好,你是如何将全部代码放在一行中的(没有破坏它)?我看到你编辑了我的问题,我做了完全相同的时间,所以有一个混乱,而且我没有找到批准版本的方法(如果我应该这样做的话)......对不起
  • @Gergo Erdosi - köszönöm !
  • 回滚到我的版本。如果要突出显示内联代码,请使用反引号。如果要突出显示代码块,请将代码缩进 4 个空格(在这种情况下,由于列表需要 8 个空格)。有关详细信息,请参阅此页面:stackoverflow.com/editing-help#code

标签: php wordpress search


【解决方案1】:

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

那个 /undefined 页面实际上是一个 404 页面(看看,文章标签有类“post error404 not-found”)。

我尝试将“?s=Blogger”附加到您的 wp 博客网址,它会正常显示结果。

我几乎可以肯定它依赖于加载的众多 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/上的cmets)

这会将 webdesign.igorlaszlo.com/blog/?s=Blogger 之类的 url 重写为 webdesign.igorlaszlo.com/blog/search/Blogger ,并且可能会修复如果我对预加载器的看法是正确的,那就是问题。

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

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

【讨论】:

  • 谢谢!关于 jquery,一旦我使用我的链接并将链接放入页脚,一旦它是 WP jquery,它会自动添加到页眉中。据我记得(或者我在另一个网站上做过???)一旦wp jquery我就删除了,如果它回来了,也许它发生在wp更新时。问题是当我想要它到页脚时wp将它添加到页眉中,我读到它对性能更好......关于.htaccess,我添加了你的行但没有任何反应,是否有一个特定的位置来放置它?我在现有代码的底部添加了它...
  • 再次感谢!我看到你编辑了你的答案......我尝试使用.htaccess的完整代码,它还不起作用......我现在必须去,但我稍后会尝试不使用搜索小部件的搜索,而是使用get_searchform代码直接,也许它会有所帮助,我会告诉你!
猜你喜欢
  • 2022-01-12
  • 2018-12-29
  • 2015-12-19
  • 1970-01-01
  • 2011-08-22
  • 1970-01-01
  • 2015-05-16
  • 1970-01-01
  • 2012-10-18
相关资源
最近更新 更多