GET_POSTS、TAX_QUERY和计算帖子数的问题

时间:2012-10-21 作者:stefano1

我想统计一下同时有3种不同分类法的帖子数量。我使用的代码是:

$products = get_posts(array(
    \'post_type\' => \'products\',
    \'posts_per_page\' => -1,
    \'post_status\' => \'publish\',
    \'tax_query\' => array(
        \'relation\' => \'AND\',
        array(
            \'taxonomy\' => \'collection\',
            \'field\' => \'slug\',
            \'terms\' => array($current_collection),
            \'operator\' => \'IN\'
        ),
        array(
            \'taxonomy\' => \'type\',
            \'field\' => \'slug\',
            \'terms\' => array($current_type),
            \'operator\' => \'IN\'
        ),
        array(
            \'taxonomy\' => \'color\',
            \'field\' => \'slug\',
            \'terms\' => array($current_type),
            \'operator\' => \'IN\'
        )
    )   
));
$countpost = count($products);
colorstype 我要查找的分类术语不存在。。。

如果collection 不存在,计数为0

如果type 不存在,它返回具有指定集合和颜色的帖子

它是color 不存在,它返回具有指定集合和类型的帖子

我想说的是,由于和的关系,如果其中一个项不存在,计数应该始终为0,而不是基本上忽略该项,只考虑其他两个项。。。

我做错什么了吗?我怎样才能修复它?

非常感谢!

1 个回复
SO网友:Md Toufiqul Islam

请按如下方式再次尝试删除运算符和关系参数:下面是一个有用的链接http://ottopress.com/2010/wordpress-3-1-advanced-taxonomy-queries/

$products = get_posts(array(
    \'post_type\' => \'products\',
    \'posts_per_page\' => -1,
    \'post_status\' => \'publish\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'collection\',
            \'field\' => \'slug\',
            \'terms\' => array($current_collection)
        ),
        array(
            \'taxonomy\' => \'type\',
            \'field\' => \'slug\',
            \'terms\' => array($current_type)
        ),
        array(
            \'taxonomy\' => \'color\',
            \'field\' => \'slug\',
            \'terms\' => array($current_type)
        )
    )   
));
$countpost = count($products);

结束

相关推荐

特定用户的wp_count_post、wp_count_Terms和wp_count_Comments?

有没有办法实现这些功能wp_count_posts, wp_count_terms 和wp_count_comments 仅为特定用户返回结果,可能使用用户的ID?我正在为自定义帖子类型制作一个自定义的“即时”仪表板小部件,我需要它只显示当前用户的数据,而不是整个站点的数据。提前谢谢。EDIT: 为了回应@kaiser在下面的评论,我做了以下操作,但什么都没有发生-结果与过滤器关闭时的结果相同(不应该是这样-检查此用户是否有不同数量的已发布employee 职位类型)。我的函数中的代码似乎根本没有被调用,