Home / comment / Count posts, pages, comments and custom post types
  • How to Count posts, pages, comments and custom post types


    This is a selection of snippets to display counts for posts, pages, custom post types, comments. Posts and pages have a publish and draft status while comment counts include moderated, approved, spam, trash, total.

    ( click code to copy )

    wordpress snippet : PHP

    // count posts
    $n_post = wp_count_posts();
    $n_post_publish = $n_post->publish;
    $n_post_drafts = $n_post->draft;
    // count pages
    $n_page = wp_count_posts('page');
    $n_page_publish = $n_page->publish;
    $n_page_drafts = $n_page->draft;
    // count custom post types
    $n_cpt = wp_count_posts('CUSTOM_POST_TYPE_NAME');
    $n_cpt_publish = $n_cpt->publish;
    $n_cpt_drafts = $n_cpt->draft;
    // count comments
    $n_comments = wp_count_comments();
    $n_comments_moderated = $n_comments->moderated;
    $n_comments_approved = $n_comments->approved;
    $n_comments_spam = $n_comments->spam;
    $n_comments_trash = $n_comments->trash;
    $n_comments_total = $n_comments->total_comments;
    ( click code to copy )

    wordpress snippet : PHP

            <!-- posts -->
    	<li>Post publish: <? echo $n_post_publish; ?></li>
    	<li>Post drafts: <? echo $n_post_drafts; ?></li>
            <!-- pages -->
    	<li>Page publish: <? echo $n_page_publish; ?></li>
    	<li>Page drafts: <? echo $n_page_drafts; ?></li>
            <!-- custom post types -->
    	<li>Custom post publish: <? echo $n_cpt_publish; ?></li>
    	<li>Custom post drafts: <? echo $n_cpt_drafts; ?></li>
            <!-- comments -->
    	<li>Coments moderated: <? echo $n_comments_moderated; ?></li>
    	<li>Coments approved: <? echo $n_comments_approved; ?></li>
    	<li>Coments spam: <? echo $n_comments_spam; ?></li>
    	<li>Coments trash: <? echo $n_comments_trash; ?></li>
    	<li>Coments total: <? echo $n_comments_total; ?></li>

    ( WordPress codex functions, hooks, in this snippet. )

    wp_count_posts, wp_count_comments, _n, wp,
  • Amin3d

    Hi,your code for showing the number of pages doesn’t work,you should change pages parameter in line 7 to page in order to work

    • Good catch on the typo thanks, updated the post.

  • May I congratulate you on your intelligent work.You have won me over and gained a new fan. Compared to most articles on the web this is a joy to read, I am overjoyed that I came upon your work. I promise to be linking to this on all my blogs.

    • ¬†Wow thanks, this is very nice to hear. I’m glad that I could post content that is of such value to people that they post great comments like this. Thanks again

  • Rakesh Rathore

    thanks its working

  • Erdem

    Hi Kevin, I am from Turkey so sorry my bad English language. I have a download a web site and I want to see Custom field count. For exapmple; read/download: 100/37 what can I do?

  • Gideon

    Hi, love the code,it works great. One question though, how do I get this count to display on the front end? Specifically for a variety of different Custom Post Types.