evergreen
  • 0
Новичок

Есть ли плагин для подсчета сообщений по авторам?

  • 0

Я хочу иметь страницу со списком всех авторов и количеством сообщений, опубликованных каждым из них. Есть ли плагин, который уже делает это? Возможность подсчета количества комментариев также будет плюсом.

Спасибо за помощь.

Share
  1. Я не знаю о плагине, но вы можете использовать это:

    В author.php вы можете использовать это для подсчета сообщений:

    <?php
    global $wp_query;
    $curauth = $wp_query->get_queried_object();
    $post_count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = '" . $curauth->ID . "' AND post_type = 'post' AND post_status = 'publish'");
    ?>
    <h2>Post Count: <?php echo $post_count; ?></h2>
    

    Внутри цикла вы можете использовать это для подсчета сообщений и комментариев:

    <?php
    global $wpdb;
    $user_id = $post->post_author;  //change this if not in a std post loop
    $where = 'WHERE comment_approved = 1 AND user_id = ' . $user_id ;
    $comment_count = $wpdb->get_var(
        "SELECT COUNT( * ) AS total
            FROM {$wpdb->comments}
            {$where}
        ");
    $user = get_userdata($user_id);
    $post_count = get_usernumposts($user->ID);
    echo '<p>User ' . $user->display_name . ' post count is ' . $post_count .', comment count is ' . $comment_count . '</p>';
    ?>
    

    Для всех авторов:

    <?php
    global $wpdb;
    $where = 'WHERE comment_approved = 1 AND user_id <> 0';
    $comment_counts = (array) $wpdb->get_results("
            SELECT user_id, COUNT( * ) AS total
            FROM {$wpdb->comments}
            {$where}
            GROUP BY user_id
        ", object);
    foreach ( $comment_counts as $count ) {
      $user = get_userdata($count->user_id);
      $post_count = get_usernumposts($user->ID);
      echo '<p>User ' . $user->display_name . ' post count is ' . $post_count .', comment count is ' . $count->total . '</p>';
    }
    ?>
    
    • 0
    • Спасибо, Филип. Я попробовал ваш первый и второй фрагменты и заставил author.php отображать количество сообщений и количество комментариев. Однако я не мог заставить работать третий фрагмент. Я создал шаблон страницы и вставил в него ваш код, но это не сработало. Я думаю, это не работает в шаблоне страницы. На самом деле я установил плагин «Список участников» и хотел использовать ваш код для отображения количества сообщений и комментариев на странице списка участников, но я также не смог заставить его работать. PHP мне кажется латиницей. В любом случае, спасибо за ответ. Я подожду еще немного, если никто не знает плагинов, я отмечу ваш ответ.

      • 0

Оставить ответ

You must login to add an answer.