分类列表显示自定义帖子计数

时间:2019-06-12 作者:Ramin Mahmudov

我使用$term->count 显示帖子数量,但它显示附加到分类法的所有类型自定义帖子的总数。。。

我只想显示附加到分类法的特定自定义帖子类型的计数

$icon = get_field(\'logo\', $term->taxonomy . \'_\' . $term->term_id); 
                        $va_category_HTML .= \'<li class="logolar" \'.$carrentActiveClass.\'>\' .\'<a class="rownum">\' .$i++. \'</a>\'. \'</a>\';
                        $va_category_HTML .= sprintf(\'<img src="%s" />\', $icon) . \'</a>\';
                        $va_category_HTML .=\'<a href="\' . esc_url( $term_link ) . \'">\' . $term->name . \'</a>\';
                        if (empty( $instance[\'wcw_hide_count\'] )) {
                        $va_category_HTML .=\'<span class="post-count">\'.$term->count.\'</span>\';
                        }

                        $va_category_HTML .=\'</li>\';

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

让人恼火的是count 是一个wp_term_taxonomy 桌子

因此,执行此操作的方法是自定义查询:

function wpse340250_term_count( WP_Term $term, $post_type) {
    $q_args = [
        \'post_type\' => $post_type,
        \'nopaging\' => true, // no limit, pagination
        \'fields\' => \'ids\', // only return post id\'s instead of full WP_Post objects will speed up
        \'tax_query\' => array(
            array(
                \'taxonomy\' => $term->taxonomy,
                \'field\'    => \'term_id\',
                \'terms\'    => $term->term_id,
            ),
        ),
    ];
    $term_count = get_posts($q_args);

    return count($term_count);
}
因此,将行更改为:

$va_category_HTML .=\'<span class="post-count">\'.wpse340250_term_count($term, \'CUSTOM_POST_TYPE\').\'</span>\';
只需设置正确的posttype。

相关推荐

是否推荐使用WP_LIST_TABLE?

目前,我正在开发一个Wordpress插件,我必须在管理菜单中打印一个自定义表。经过短暂的研究,我找到了WP\\U List\\U Table的解决方案。但是在Wordpress的类引用中,我看到该类被标记为私有,这意味着它不适合插件和主题开发人员使用。https://codex.wordpress.org/Class_Reference/WP_List_Table那么,建议使用这个类还是使用“普通”php打印表?