Попытка получить все сообщения, используя wp_count_posts — PHP-массив WordPress

Я пытаюсь получить список авторов на моем сайте & их общее количество сообщений.

Весь этот код работает, кроме части $ count_posts ($ author-> ID) в цикле.
Я думаю, что также могут быть проблемы с моим массивом для get_users — так как я пытаюсь добавить больше частей в массив.

function all_authors_list() {

$authors = get_users(array(
'role'      => 'subscriber',
'orderby'   => 'post_count',
'order'     => 'DESC',
'number'    => '20',
)
);

$authors = $count_posts;
$count_posts = wp_count_posts('page');
$published_posts = $count_posts->publish;

foreach($authors as $author) {
echo '<div class="author-name">' . $author->first_name . ' ' . $author->last_name . '</div>';
echo '<div class="author-post-count">' . $count_posts($author->ID) . '</div>';
}
}

Таким образом, окончательный результат должен быть примерно таким:
Джон Смит
20
Патриция Лонг
35
…и т.п.

1

Решение

Напишите этот код ниже в вашем посте:

<p><?php the_author(); ?> has <?php echo number_format_i18n( get_the_author_posts() ); ?>
posts</p>

Ссылка: http://codex.wordpress.org/Function_Reference/get_the_author_posts

0

Другие решения

Вы можете использовать count_many_users_posts чтобы достичь этого.

В основном вы получите идентификатор пользователя в массиве, который генерируется $authors и вы можете использовать этот идентификатор пользователя в count_many_users_posts,

Есть три параметра в count_many_users_posts функция, и вы можете использовать $post_type параметр, чтобы получить только страницы.

0