abosami
  • 0
Новичок

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

  • 0

Как твои дела?

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

так:

Адам (10 сообщений) Кхал (8 сообщений) Юс (5 сообщений) Моха (3 сообщения) Юсеф (1 сообщение)

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

Share
  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, иначе он будет неопределенным.

    • 0
  2. Работа, я пытаюсь использовать…

    <?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/>';
        }
    ?> 
    
    • 0

Оставить ответ

You must login to add an answer.