特定任期内的职位计数

时间:2015-07-12 作者:Bob John Ayebale

我正在制作精彩页面,我想查询一个称为住宿的给定自定义帖子类型,并显示该给定位置的帖子数量,以及我在纽约的住宿(1110)

<?php
$args = array(
\'post_type\' => \'accommodations\',
\'taxonomy\' => \'location\',
\'field\' => \'NewYork\'
);
$the_query = new WP_Query( $args );
echo $the_query->found_posts;
?>
但它给了我定制帖子类型中的所有内容

2 个回复
SO网友:Pieter Goosen

您的查询完全错误。你应该使用合适的tax_query. 还要注意的是,运行查询仅统计帖子的成本非常高。设置fields paremeter只返回帖子ID。这可以节省99.9%的资源。

只需注意tax_query 这很重要。有效值为slug, term_idname. 此值必须与传递给terms 参数因此,如果字段设置为slug, 您必须将术语slug传递给terms. 请勿使用name 参数中存在错误WP_Tax_Query 类,如果术语的名称由多个单词组成,则查询将失败。

您可以尝试以下方法

 $args = array(
    \'post_type\' => \'accommodations\',
    \'no_paging\' => true, // Gets all posts
    \'fields\' => \'ids\', // Gets only the post ID\'s, saves on resources
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'location\', // Taxonomy name
            \'field\' => \'slug\', // Field to check, valid values are term_id, slug and name
            \'terms\' => \'new-york\' // This value must correspond to field value. If slug, use term slug
        )
    ),
);
$the_query = new WP_Query( $args );
echo $the_query->found_posts;

SO网友:Brad Dalton

根据你的问题

显示帖子数量

$published_posts = wp_count_posts(\'accommodations\')->publish;
这将为您提供针对住宿职位类型发布的职位数量。

结束

相关推荐