Dans le footer.php
, je montre tous les auteurs de mon blog avec le code suivant:
$args = array(
'meta_key' => 'last_name',
'orderby' => 'meta_value',
'order' => 'ASC'
);
// Create the WP_User_Query object
$wp_user_query = new WP_User_Query( $args );
$wp_user_query->query_orderby = str_replace( 'user_login',
'wp_usermeta.meta_value', $wp_user_query->query_orderby );
// Get the results
$authors = $wp_user_query->get_results();
Est-il possible de limiter la sortie à 5 utilisateurs aléatoires? Comme posts_per_page => 3
et orderby => Rand
?
Oui possible, il suffit d'indiquer à WordPress d'utiliser Rand()
SQL lors du passage de Rand
dans orderby
paramètre:
add_action( "pre_user_query", function( $query ) {
if( "Rand" == $query->query_vars["orderby"] ) {
$query->query_orderby = str_replace( "user_login", "Rand()", $query->query_orderby );
}
});
Maintenant vous pouvez utiliser:
$users = get_users( array(
'meta_key' => 'last_name',
'orderby' => 'Rand',
'number' => 3 // limit
));
print_r( $users );
J'espère que cela pourra aider.
function get_random_authors($number) {
$users = wp_list_authors( array(
'orderby' => 'Rand',
'number' => $number // limit
));
return $users;
}
print_r(get_random_authors(3));