2015-11-05 2 views
0

У меня фактически есть страница «пользователей», упорядоченная по post_count. Мне интересно, можно ли заказать список случайным образом. Я знаю, что функция get_users просто позволяет упорядоченность по 'ID', 'login', 'nicename', 'email', 'url', 'registered', 'display_name', 'post_count', 'include', или 'meta_value'Как случайный порядок списка пользователей с get_users

Для get_posts, если я хорошо помню, есть rand вариант для достижения этой цели.

Вот код моего шаблона:

<?php 
 

 
/* 
 
Template Name: Display Contributors and Authors 
 
*/ 
 

 
    $args = array(
 
     'role' => 'contributor', 
 
     'orderby' => 'post_count', 
 
     'order' => 'DESC' 
 
    ); 
 
    
 
    // only return users with published posts 
 
\t $args['has_published_posts'] = true; 
 
    // run the WP_Query 
 
\t $contributors = get_users($args); 
 

 
    ?>

ответ

2

Вы можете использовать следующий код для регистрации заказа на рандов:

add_action('pre_user_query', 'my_random_user_query'); 

function my_random_user_query($class) { 
    if('rand' == $class->query_vars['orderby']) 
     $class->query_orderby = str_replace('user_login', 'RAND()', $class->query_orderby); 

    return $class; 
} 

И затем использовать его как это:

$args = array(
    'role' => 'contributor', 
    'orderby' => 'rand', 
    'order' => 'DESC' 
); 

Source

+0

Огромное спасибо @madforstrength. Работал отлично. – Marco

Смежные вопросы