admin管理员组

文章数量:1333711

This maybe should be posted on a php forum, but since it's WordPress related, I'm giving it a try here..

With this code, I'll get the total count of posts work a certain tag;

$term = get_term_by('slug', lizard, post_tag);
echo $term->count;

How do I write if I would like to know how many posts there are in 10 different tags together?

I guess some kind of array?

This maybe should be posted on a php forum, but since it's WordPress related, I'm giving it a try here..

With this code, I'll get the total count of posts work a certain tag;

$term = get_term_by('slug', lizard, post_tag);
echo $term->count;

How do I write if I would like to know how many posts there are in 10 different tags together?

I guess some kind of array?

Share Improve this question asked Jun 11, 2020 at 19:53 JoBeJoBe 1712 silver badges11 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

How do I write if I would like to know how many posts there are in 10 different tags together?

If you mean the combined total number of posts, i.e. the sum of the count value of each term, then:

  1. Yes, you can put the slug list in an array and loop through the items to manually sum the grand total:

    $term_slugs = [ 'slug', 'slug-2', 'etc' ];
    $post_count = 0;
    
    foreach ( $term_slugs as $slug ) {
        $term = get_term_by( 'slug', $slug, 'post_tag' );
        $post_count += $term->count;
    
        // This is just for testing.
        echo $term->name . ': ' . $term->count . '<br>';
    }
    
    echo 'Grand total posts: ' . $post_count;
    
  2. Or if all you need is just the grand total, then you can simply use get_terms() or get_tags() (which uses get_terms() btw) with wp_list_pluck() without having to do a foreach loop:

    $term_slugs = [ 'slug', 'slug-2', 'etc' ];
    $terms = get_terms( [
        'taxonomy' => 'post_tag',
        'slug'     => $term_slugs,
    ] );
    /* Or with get_tags():
    $terms = get_tags( [ 'slug' => $term_slugs ] );
    */
    
    $post_count = array_sum( wp_list_pluck( $terms, 'count' ) );
    echo 'Grand total posts: ' . $post_count;
    

本文标签: Count several post tags