Как посчитать количество постов у автора?

Для подсчета количества постов у определенного автора в WordPress можно использовать несколько различных методов. Рассмотрим два из них.

1. Использование базовых функций WordPress:

Вам потребуется использовать функции WP_Query и get_posts, чтобы получить все посты определенного автора, а затем просто посчитать количество полученных постов.

Ниже приведен пример кода:

$author_id = 1; // ID автора
$args = array(
    'author' => $author_id,
    'post_type' => 'post',
    'post_status' => 'publish',
    'posts_per_page' => -1 // Получить все посты автора
);

$posts = get_posts($args);

$count = count($posts); // Получаем количество постов

echo "Количество постов у автора: " . $count;

В этом примере мы указываем ID автора и определяем параметры запроса в массиве $args. Затем мы используем функцию get_posts для получения всех постов автора, соответствующих нашим параметрам запроса. После этого мы просто считаем количество полученных постов с помощью функции count.

2. Использование SQL-запроса:

Если вам необходимо выполнить более сложный запрос или получить дополнительную информацию о постах автора, можно воспользоваться SQL-запросом. Для этого можно использовать функцию $wpdb (глобальный объект WordPress для работы с базой данных).

Ниже приведен пример SQL-запроса, который посчитает количество постов у определенного автора:

$author_id = 1; // ID автора

$query = "SELECT COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' AND post_author = %d";

$count = $wpdb->get_var($wpdb->prepare($query, $author_id));

echo "Количество постов у автора: " . $count;

В этом примере мы используем SQL-запрос, чтобы посчитать количество постов в таблице $wpdb->posts, где post_type равен "post", post_status равен "publish" и post_author равен ID автора. Мы используем функцию $wpdb->prepare для безопасного форматирования SQL-запроса и передачи значения ID автора ($author_id). Затем мы используем метод $wpdb->get_var, чтобы получить количество постов из результата запроса и выводим его на экран.