Intereting Posts
Перемещение веб-приложения PHP в WordPress Добавление элементов пользовательского интерфейса jQuery на страницу WordPress Шаблон страницы с разным содержимым страницы и сообщения Выводить настраиваемое текстовое поле как неупорядоченный список Не удается сделать что-либо с ответом admin.php Разделить на два отдельных неупорядоченных списка с пользовательским ходоком Вопрос о запросах сообщений Записи цикла в таблице, упорядоченной по значению настраиваемого поля Как отобразить размер изображения из поля повторяющихся полей Simple Fields Какой плагин вы используете для превращения сайта на WordPress в агрегатор блога Загрузка панели администратора Admin в верхнем колонтитуле без нижнего колонтитула для прокрутки страницы со страницы Только категории списков, содержащие записи определенного пользовательского типа сообщений База данных TV Show – лучший способ ее структурирования? Оплата по регистрации? Есть ли ограничение длины страницы?

Список топ-5 авторов с большинством сообщений

Как дела?

У меня есть блог, в котором есть 20 авторов. Я хочу написать код, чтобы показать 5 авторов, у которых больше сообщений.

как это:

Adam (10 сообщений) Khal (8 сообщений) Yous (5 сообщений) Moha (3 сообщений) Yousef (1 сообщение)

но я не знаю, как это можно сделать

Используете ли вы WordPress 3.1+? Там есть хорошая get_users() которая сделает трюк! Однако вам понадобится немного волшебства для загрузки:

 add_action( 'pre_user_query', 'wpse_11832_pre_user_query' ); /** * Adds "post_count" to the SELECT clause. Without this, the "post_count" * property for users will be undefined. * * @param object $wp_user_query */ function wpse_11832_pre_user_query( $wp_user_query ) { if ( $wp_user_query->query_vars['orderby'] == 'post_count' ) $wp_user_query->query_fields .= ', post_count'; } 

И пример использования:

 <?php foreach ( get_users( 'order=DESC&orderby=post_count&number=5' ) as $user ) : ?> <?php echo $user->display_name; ?> (<?php echo $user->post_count; ?> Posts) <?php endforeach; ?> 

Важно : вы должны заказать post_count , иначе он будет неопределенным.

Работаю, я стараюсь …

 <?php foreach ( get_users( 'order=DESC&orderby=post_count&number=5' ) as $user ) : ?> <?php if ($user->post_count > 0) { echo $user->display_name.' ( '. $user->post_count .' Posts)<br/>'; } ?>