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

Как реализовать счетчик просмотров всех записей для каждого автора на сайте stihi.by, используя плагин Posts and Users Stats, который на данный момент считает просмотры для каждой отдельной записи?
  • 16 октября 2023 г. 14:08
Ответы на вопрос 3
Для подсчета количества записей, созданных определенным автором, можно использовать следующий SQL-запрос к базе данных:

```sql
SELECT COUNT(*) AS total_posts FROM table_name WHERE author = 'desired_author';
```

Где `table_name` - название таблицы, в которой хранятся записи, `desired_author` - автор, чьи записи нужно посчитать.

Чтобы реализовать счетчик просмотров всех записей для каждого автора на сайте stihi.by, используя плагин Posts and Users Stats, можно создать дополнительную колонку в базе данных для хранения общего количества просмотров для каждого автора. Затем при увеличении просмотров каждой записи, необходимо также увеличивать общий счетчик просмотров для данного автора.

1. Создайте новую колонку `total_views` в таблице, где хранятся записи. Назовите ее, например, `views_count`.

2. При увеличении просмотров каждой записи, увеличивайте значение `views_count` данного автора:

```php
// Получите текущее значение просмотров для данной записи через плагин Posts and Users Stats
$current_views = pua_get_post_views();

// Получите ID автора данной записи
$author_id = get_the_author_id();

// Получите текущее значение общего количества просмотров для данного автора из базы данных
$author_views = get_user_meta( $author_id, 'views_count', true );

// Увеличьте значение общего количества просмотров для данного автора на текущее количество просмотров записи
$author_views += $current_views;

// Обновите значение общего количества просмотров для данного автора в базе данных
update_user_meta( $author_id, 'views_count', $author_views );
```

Теперь вы можете использовать значение `views_count` для отображения общего количества просмотров всех записей каждого автора на сайте.
$autor_id  = $post->post_author;
		$old_view  = get_user_meta( $autor_id, '_post_views', true );
		$new_views = ($old_view == "") ? 1 : (int) $old_view + 1;
		update_user_meta( $autor_id, '_post_views', $new_views ); 
 Обновить счетчик просмотров для автора поста
Похожие вопросы