最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Count several post tags

programmeradmin22浏览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?

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;
    

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论