【问题标题】:Search results not displaying for multiple word search in WordPress在 WordPress 中不显示多词搜索的搜索结果
【发布时间】:2011-10-12 18:01:00
【问题描述】:

我自定义了一个主题,但在使用多词查询的搜索结果中遇到了一些问题。网站上线www.abetterworldbydesign.com

Searching for a single word 按预期工作。

应该返回结果的Searching for multiple words 显示空白结果。

下面 searchform.php 的代码。

<form id="searchform" name="searchform" method="get" action="<?php echo home_url(); ?>">
    <div>
        <input type="text" id="s" name="s" />
        <input type="submit" id="searchsubmit" value="<?php esc_attr_e( 'Search', 'richwp' ); ?>" />
    </div>
</form>

我在 search.php 中用于初始化 WP_Query 的代码完全遵循 the code listed in the codexsearch.php on pastebin 的完整代码。

【问题讨论】:

  • 也在 Wordpress 上问过答案:wordpress.stackexchange.com/questions/24102/…
  • 为什么不把搜索交给powerman - google。示例查询“零能耗网站:www.abetterworldbydesign.com”:google.com/…
  • @Igor - 用 Google 自定义搜索替换 WordPress 搜索将是我宁愿避免的解决方法。主要缺点是需要在网站上使用 Google 品牌。 google.com/cse/docs/tos.html
  • 现在听起来像:“好的,我们依靠谷歌搜索来保证最可靠的结果”。这个怎么样,搜索词组来自PDF:google.com/…
  • 当您将空格 (+) 替换为与符号 (&amp;) 时,搜索“有效”这一事实一点也不奇怪。当 URL 为?s=press+releases 时,有一个参数s 的值为press releases。当 URL 为 ?s=press&amp;releases 时,URL 中有两个参数 - 一个名为 s,值为 press,另一个名为 releases,值为空。

标签: php wordpress search wordpress-theming


【解决方案1】:

我猜您需要解码从查询字符串中提取的搜索词,例如:$search_query[$query_split[0]] = urldecode($query_split[1])。虽然,您可能只使用 Wordpress 的 get_query_var 函数而不是所有代码。

【讨论】:

  • 就是这样。做得很好。奇怪的是 WordPress 文档没有说明这一点 - 想知道它是否是在最新版本的 WP 中更改并且未在文档中更新的要求。我现在就奖励你赏金,但 Stack Overflow 说我必须等 3 小时。
  • Wordpress Codex 文档是一个 wiki,因此任何人都可以添加到其中,最好对内容持怀疑态度。您使用的代码是一年多前由另一个用户发布的(如果您登录,您可以查看页面历史记录),我不确定它应该解决什么问题。
  • 好的。我用这个修复更新了 WordPress Codex。 codex.wordpress.org/…
【解决方案2】:

您的搜索 PHP 的第 16 行

$query_args = explode("&", $query_string);

试着改成这个

$query_args = explode(" ", $query_string)

【讨论】:

  • 试过了。不用找了。我还尝试将 search.php 的第 16 行更改为 $query_args = explode("+", $query_string); 但这也没有改变任何东西
  • 很奇怪。我很确定这会奏效。我看看能不能看到别的。
  • 可能不会做太多,但请检查 search.php 的第 42 行——您的评论是注释掉 php 标记的结尾
  • 好收获。我已经修复了第 42 行,但你是对的 - 它没有做任何事情。
  • 至于第 16 行,我使用的是直接取自 WordPress 文档的代码:codex.wordpress.org/…
最近更新 更多