設定のディスカッションパネルで、「コメント表示条件」「コメント表示条件 コメントの手動承認を必須にする 」にチェックを入れていない場合、承認待ちコメントの件数表示は行われないようで、そのような場合でも、コメントがあったかどうか管理バーに表示したいという人がいました。
管理バーを表示したときに、最後にコメント一覧ページを開いたときの総コメント件数と、現在のコメント件数を比較して表示するスクリプトを作りました。
テーマの、functions.phpに以下のコードを追加することで、表示できます。
<?php add_action( 'admin_head-edit-comments.php', 'nobita_comment_update' ); add_action( 'admin_bar_menu', 'nobita_add_admin_menu' ,99); function nobita_pending_comment_coount() { $current_comments_count= wp_count_comments(); $current_comments_count= $current_comments_count->total_comments; $old_comments_count = get_option( 'nobita_comment_count' ); $style= 'background-image: url('. home_url(). '/wp-includes/images/admin-bar-sprite.png); background-position: -1px -134px; background-repeat: no-repeat;display:inline-block;width:16px;height:16px;margin-top:3px'; if ( $current_comments_count > $old_comments_count ) { $count= $current_comments_count - $old_comments_count; $num = ' <span style="color:red">New</span> <span style="'. $style. '"></span> <span>'.$count.'</span>'; return $num; } return ' <span style="'. $style. '"></span> <span>'. $current_comments_count. '/'. $old_comments_count. '</span>'; } function nobita_comment_count_update(){ $current_comments_count= (int) count( get_comments( ) ); update_option( 'nobita_comment_count', $current_comments_count ); } function nobita_comment_update( ){ nobita_comment_count_update(); } function nobita_add_admin_menu( $wp_admin_bar ) { $wp_admin_bar->add_menu( array( 'id' => 'pending_comments', 'title'=> nobita_pending_comment_coount(), 'href' => admin_url( 'edit-comments.php?comment_status=moderated' ), 'meta' => array( 'class'=> 'nobita_comment_count' ), ) ); } ?>