如何像普通搜索那样查询帖子。在earch.php页面内

时间:2013-04-29 作者:Yaniv Kossas

我正在一个网站上搜索服装。

当用户搜索某个术语时,我想显示类别列表,其中包含在该类别中找到的帖子数量。

我想了一个办法,但我做起来有问题。

正在搜索中。循环中的phphave_posts(), 我将添加一行检查每个帖子的类别,并创建一个包含这些类别的数组。。。每次某个类别重复时,只需+1。。。。。。问题是,由于分页已到位,它将只找到当前页面的类别,而其余页面仍无法解释修复方法是使用另一个wp\\u查询s 学期没有分页。

问题是,我不知道如何像普通搜索一样查询某个术语的wp。我想使用query_posts 不知何故,但仍不清楚是如何做到的。

提前感谢。

2 个回复
最合适的回答,由SO网友:Yaniv Kossas 整理而成

这就是我所做的:

我运行另一个没有分页的查询,如下所示:

$newQuaryVars = \'&posts_per_page=99999999999999&post_type=post\';
$posts = query_posts($query_string .$newQuaryVars);
$categoriesList = array();
$categoriesAmounts = array();
然后在while have posts 我做了以下工作:

while ( have_posts() ) : the_post();
    $postCategories = get_the_category();
    if($postCategories){
        foreach($postCategories as $categoryInfo) {
            $categoriesAmounts[$categoryInfo->term_id][\'amount\']++;
            $categoriesList[$categoryInfo->term_id] = array( 
                \'name\' => $categoryInfo->name, 
                \'url\' => get_category_link( $categoryInfo->term_id ), 
                \'amount\' => $categoriesAmounts[$categoryInfo->term_id][\'amount\']
            );
        }
    }
endwhile;
现在我基本上有了一个带有类别名称/url的数组,以及适合该类别中搜索词的帖子数量。

之后,我只对其进行array\\u多重排序并显示它。

希望这对任何人都有帮助。

SO网友:s_ha_dum

很容易得到一个类别中的帖子数量。。。

$qry = new WP_Query(array(\'cat\'=>2));
var_dump($qry->found_posts);
。。。但是你可以很容易地用这种方式进行很多查询。也许像这样的事情会有助于减少:

$catid = 1;
$qry = new WP_Query;
$cat_count = array();
if (!isset($cat_count[\'cat-\'.$catid])) {
    $qry->query(array(\'cat\'=>$catid));
    $cat_count[\'cat-\'.$catid] = $qry->found_posts;
}
var_dump($cat_count)
至少它只在您第一次遇到类别时运行查询。

结束

相关推荐

Categories sorting

我正在使用下面的代码来弹出自定义帖子类型及其类别,所以类别1---岗位1---岗位2第二类——岗位1——岗位2——岗位3等。这对我来说很好,但是我希望能够按count对我的类别进行排序,所以orderby=count,这样,在我下面的代码中不起作用的时候,具有大量帖子的类别将排在列表的顶部,知道为什么吗?非常感谢您的帮助 <?php // List posts by the terms for a custom taxonomy of any post type