问题描述

到目前为止,我已经使用下面的代码来获取有人搜索并显示该数量的结果数。

<?php /* Search Count */ $allsearch =& new WP_Query("s=$s&showposts=-1"); $count = $allsearch->post_count; echo $count . ' '; wp_reset_query(); ?>

但这似乎不是有效的代码。它显示以下错误:

不推荐使用:不再支持通过引用分配新的返回值

任何人都可以提出正确的方式,让我得到搜索计数。上述代码放置在条件语句中的主题 index.php 文件的标题中,以根据用户所在的页面类型显示不同的标题。

最佳解决方案

如果您在搜索模板内,则搜索查询是您的主要查询。然后,您应该可以从全局 $wp_query 获取搜索结果,而无需运行其他查询。

global $wp_query;
echo $wp_query->found_posts.' results found.';

编辑 1

如果你必须从搜索的上下文中得到计数。您可以结合这两种技术获得有效的结果。它不会抓取所有的帖子,但你可以得到搜索计数。

$allsearch = new WP_Query("s=$s&showposts=0");
echo $allsearch ->found_posts.' results found.';

你的错误

关于你得到的错误,它在这里

$allsearch =& new WP_Query("s=$s&showposts=-1");

删除等号旁边的”&” 以摆脱错误。所以看起来就像这样

$allsearch = new WP_Query("s=$s&showposts=-1");

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。