只从wp_Query获取计数,而不获取帖子

时间:2018-08-23 作者:Darius

这可能是重复的,但以下链接中列出的内容对我无效:Return only Count from a wp_query request?

我无法使用下面的查询获取计数。如果我设置posts_per_page = -1 它呈现一个空白页面,如果我将其设置为10,它将返回10个found\\u帖子。。

“special\\u key”有190k个结果,所以可能与此有关。。?

// There are 190k records with post_meta "special_key" on each coupon/post.
$query = array(
    \'post_type\' => \'shop_coupon\',
    \'meta_key\' => \'special_key\',  
    \'fields\' => \'ids\',
    \'no_found_rows\' => true,    
);

$results = new WP_Query($query);
echo $results->found_posts; //// This is 0...
echo $results->count_posts; //// This is 0...
wp_reset_postdata();
如果有用的话,我将从插件内部运行查询。

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

这个found_posts 的属性WP_Query class是您要查找的内容,它是为当前查询找到的帖子数量。然而,你有一个0 因为你设置了no_found_rows (在$query 阵列)至true, 这意味着将不计算其中的金额。一、 e。

WordPress不会附加SQL_CALC_FOUND_ROWS 到用于查询帖子的SQL命令。否则,命令将类似于:SELECT SQL_CALC_FOUND_ROWS {the rest of the query}

不会执行WordPressSELECT FOUND_ROWS() 之后,posts查询完成。当它未执行时found_posts 属性将为零(0).

因此,请拆下no_found_rows$query 数组,以及$results->found_posts 将具有适当的值:

$query = array(
    \'post_type\' => \'shop_coupon\',
    \'meta_key\' => \'special_key\',
    \'fields\' => \'ids\',
);

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post