在不使用wp_list_ategories的情况下分别显示类别的ECHO_COUNT

时间:2016-10-14 作者:Govind Jangid

enter image description here我想显示一个特定类别的数量,这意味着一个特定类别有多少个帖子?

我希望数字与图片中的数字相同,但它们的回声如下:

浴室秤(1)
未分类(3)

我的代码是:

echo wp_list_categories(array(
\'show_count\' => \'true\',
\'title_li\' => \'\',
\'style\' => \'\'));
有没有其他方法可以单独进行计数?

2 个回复
SO网友:Andy Macaulay-Brook

打个电话就行了get_categories(). 您将获得一个术语对象数组:

array(
    [0] => WP_Term Object
    (
        [term_id] =>
        [name] =>
        [slug] =>
        [term_group] =>
        [term_taxonomy_id] =>
        [taxonomy] =>
        [description] =>
        [parent] =>
        [count] =>
        [filter] =>
    )
)
您可以使用wp_list_pluck 将其转换为关联数组,例如:

 $cat_counts = wp_list_pluck( get_categories(), \'count\', \'name\' );
这将返回如下数组:

array(
    \'Geography\' => 5,
    \'Maths\' => 7,
    \'English\' => 3,
)
对于其他分类法,请使用get_terms() 相反get_categories() 只不过是一个包装get_terms().

要像您添加到问题中的图片一样显示这些内容,只需在数组上循环即可。

echo \'<dl>\';
// use whichever HTML structure you feel is appropriate

foreach ( $cat_counts as $name => $count ) {
    echo \'<dt>\' . $name . \'</dt>\';
    echo \'<dd>\' . sprintf( "%02d", $count ) . \'</dd>\';
    // use sprintf to specify 2 decimal characters with leading zero if necessary
}

echo \'</dl>\';

SO网友:Nicolai Grossherr

使用get_category(), 它返回一个对象,其中包含相关属性category_count.