Как получить общее количество постов в WordPress для родительской категории, включая пост ее ребенка - PullRequest
0 голосов
/ 30 апреля 2020

Мой план состоит в том, чтобы отображались только категории первого уровня с общим количеством сообщений не только, но и с дочерними категориями.

Я задал несколько вопросов и ответов по этому поводу, но ни один из них на самом деле не отвечает решению. Например, здесь ниже приведено одно решение, показывающее неправильный результат, когда сообщение находится в нескольких подкатегориях или выбрана родительская и дочерняя категории

function wp_get_cat_postcount($id) {
    $cat = get_category($id);
    $count = (int) $cat->count;
    $taxonomy = 'category';
    $args = array(
        'child_of' => $id,
    );
    $tax_terms = get_terms($taxonomy,$args);
    foreach ($tax_terms as $tax_term) {
        $count +=$tax_term->count;
    }

    return $count;
}

Редактировать: показать использование

Я на самом деле запрашивая все родительские категории и затем пытаясь использовать эту функцию, чтобы получить количество сообщений для каждой родительской категории. Вот использование функции выше.

$args = array(
    'hide_empty'    => true,
    'parent'        => 0,
    'orderby'       => 'count',
    'order'         => 'DESC'
);

$cats = get_categories($args);

if ( is_array($cats) && !empty($cats) ) {

    echo '<ul class="cat-nav" id="cat-nav">';

    foreach ( $cats as $cat ) {
        if($cat_type->count > 0){
            echo '<li>' . $cat->name . '<span class="post-count">'.wp_get_cat_postcount($cat->term_id).'</span></a></li>';
        }
    }

    echo '</ul>';

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...