Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




wp_count_comments [ WordPress Function ]

wp_count_comments ( $post_id = 0 )
Parameters:
  • (int) $post_id Optional. Post ID.
Returns:
  • (object) Comment stats.
Defined at:



Retrieve total comments for blog or single post.

The properties of the returned object contain the 'moderated', 'approved', and spam comments for either the entire blog or single post. Those properties contain the amount of comments that match the status. The 'total_comments' property contains the integer of total comments.

The comment stats are cached and then retrieved, if they already exist in the cache.

Source


<?php
function wp_count_comments$post_id ) {
    global 
$wpdb;

    
$post_id = (int) $post_id;

    
$stats apply_filters('wp_count_comments', array(), $post_id);
    if ( !empty(
$stats) )
        return 
$stats;

    
$count wp_cache_get("comments-{$post_id}"'counts');

    if ( 
false !== $count )
        return 
$count;

    
$where '';
    if ( 
$post_id )
        
$where $wpdb->prepare"WHERE comment_post_ID = %d"$post_id );

    
$count $wpdb->get_results"SELECT comment_approved, COUNT( * ) AS num_comments FROM {$wpdb->comments} {$where} GROUP BY comment_approved"ARRAY_A );

    
$total 0;
    
$approved = array('0' => 'moderated''1' => 'approved''spam' => 'spam''trash' => 'trash''post-trashed' => 'post-trashed');
    foreach ( (array) 
$count as $row ) {
        
// Don't count post-trashed toward totals
        
if ( 'post-trashed' != $row['comment_approved'] && 'trash' != $row['comment_approved'] )
            
$total += $row['num_comments'];
        if ( isset( 
$approved[$row['comment_approved']] ) )
            
$stats[$approved[$row['comment_approved']]] = $row['num_comments'];
    }

    
$stats['total_comments'] = $total;
    foreach ( 
$approved as $key ) {
        if ( empty(
$stats[$key]) )
            
$stats[$key] = 0;
    }

    
$stats = (object) $stats;
    
wp_cache_set("comments-{$post_id}"$stats'counts');

    return 
$stats;
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

Kullanýcý Tartýþmalarý [ wordpress.org ]

- Bulunamadý -

Yeni bir konu yaz ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics