【WordPress】ユーザーごとの投稿数をダッシュボードに表示する方法

【WordPress】ユーザーごとの投稿数をダッシュボードに表示する方法 WordPress

複数のユーザーが記事を投稿するWordPressサイトでは、各ユーザーの投稿状況を管理者がひと目で把握できると便利です。この記事では、WordPressの管理画面のダッシュボードに「ユーザーごとの投稿数」を表示するカスタマイズ方法を紹介します。

ダッシュボードウィジェットを追加する

まずは、functions.php に以下のコードを追加して、ダッシュボードにカスタムウィジェットを作成します。


// ダッシュボードにユーザー投稿数ウィジェットを追加
function add_user_post_count_dashboard_widget() {
    wp_add_dashboard_widget(
        'user_post_count_widget',
        'ユーザーごとの投稿数',
        'render_user_post_count_widget'
    );
}
add_action('wp_dashboard_setup', 'add_user_post_count_dashboard_widget');

// ウィジェットの中身を出力
function render_user_post_count_widget() {
    $users = get_users(['orderby' => 'display_name']);
    echo '<table class="widefat">';
    echo '<thead><tr><th>ユーザー</th><th>投稿数</th></tr></thead>';
    echo '<tbody>';
    foreach ($users as $user) {
        $count = count_user_posts($user->ID);
        echo '<tr>';
        echo '<td>' . esc_html($user->display_name) . '</td>';
        echo '<td>' . esc_html($count) . '</td>';
        echo '</tr>';
    }
    echo '</tbody></table>';
}

表示される内容

このカスタマイズを有効にすると、WordPressのダッシュボードに「ユーザーごとの投稿数」というウィジェットが追加され、次のような情報が表示されます:

  • ユーザー名(display_name)
  • そのユーザーが投稿した記事の数

投稿数は、公開済みの「投稿」タイプに限定されます。カスタム投稿タイプの件数も含めたい場合は、count_user_posts() 関数の第2引数に投稿タイプを指定してください。

まとめ

ユーザーごとの投稿状況を簡単に把握できるようになると、編集作業や記事管理がスムーズになります。特に複数ライターが在籍するメディアやブログ運営では、投稿数を定期的にチェックすることが重要です。今回紹介したウィジェットを活用して、ダッシュボードの利便性を高めましょう。