0

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?

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;
    

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.