Как сделать счётчик просмотров всех записей автора wordpress?

Чтобы создать счётчик просмотров для всех записей автора в WordPress, следуйте этим шагам:

Шаг 1: Добавление мета-полей просмотров для записей
Сначала нужно добавить возможность хранить информацию о просмотрах для каждой записи. Для этого мы будем использовать мета-поля в WordPress. Откройте файл functions.php активной темы и добавьте следующий код:

function add_post_views_meta() {
   $count = get_post_meta( get_the_ID(), 'post_views', true );
   $count = $count ? $count : 0;
   $count++;
   update_post_meta( get_the_ID(), 'post_views', $count );
}
add_action( 'template_redirect', 'add_post_views_meta' );

Этот код добавляет мета-поле с названием "post_views" для каждой записи и увеличивает его значение каждый раз, когда запись открывается.

Шаг 2: Создание функции для подсчета просмотров автора
Теперь нужно создать функцию, которая будет считать общее количество просмотров всех записей автора. Добавьте следующий код в functions.php:

function count_author_views( $author_id ) {
   $args = array(
      'author'       => $author_id,
      'post_type'    => 'post',
      'post_status'  => 'publish',
      'nopaging'     => true,
      'fields'       => 'ids',
   );

   $posts = get_posts( $args );

   $total_views = 0;

   foreach ( $posts as $post ) {
      $count = get_post_meta( $post, 'post_views', true );
      $total_views += $count ? $count : 0;
   }

   return $total_views;
}

Эта функция получает ID автора и использует функцию get_posts() для получения массива ID всех опубликованных записей этого автора. Затем она проходит по каждому ID записи, извлекает значение мета-поля "post_views" и добавляет его к общему количеству просмотров.

Шаг 3: Использование функции для отображения просмотров автора
Теперь вы можете использовать функцию count_author_views() в любом месте вашей темы, чтобы отобразить общее количество просмотров записей автора. Например, вы можете добавить следующий код в файл author.php вашей темы:

$author_id = get_queried_object_id();
$author_views = count_author_views( $author_id );

echo 'Общее количество просмотров: ' . $author_views;

Вместо этого, вы можете использовать эту функцию на странице профиля автора или в любом другом месте, где вам нужно отобразить счётчик просмотров автора.

Таким образом, вы создали счётчик просмотров для всех записей автора в WordPress.