随机给用户排序不管用吗?

时间:2021-09-24 作者:robert0

因此,我试图以随机顺序列出我的wordpress用户id。

现在我有这个但出于某种原因,\'orderby\' => \'rand\' 不是随机化列表。

<?php 

$args  = array(
    \'meta_key\' => \'active\',
    \'meta_value\' => \'yes\',
    \'number\' => 99999,
    \'orderby\' => \'rand\',
);
 
$my_user_query = new WP_User_Query( $args );
$publishers = $my_user_query->get_results();
 
if ( ! empty( $publishers ) ): ?>

<?php foreach ( $publishers as $publisher ): 
        
setup_postdata( $publisher )
        
?>


<?php echo $publisher->ID; ?>


<?php endforeach; ?>
    
<?php wp_reset_postdata(); ?>

<?php endif; ?> 
我试过了\'order\' => \'rand\' 据我所知,这是不正确的。

为了确保上述阵列正常工作,我尝试了:

\'order\' => \'ASC\'\'order\' => \'DESC\'

两个都很好。

我想我的兰德代码行有问题。

我还听说可以使用shuffle($users);, 但我不知道在哪里以及如何实施。

需要帮助。

1 个回复
SO网友:robert0

好的,我在另一个线程中找到了这个解决方案,它确实有效:

将此添加到函数中。php:

add_action( "pre_user_query", function( $query ) {
    if( "rand" == $query->query_vars["orderby"] ) {
        $query->query_orderby = str_replace( "user_login", "RAND()", $query->query_orderby );
    }
});
它现在按随机顺序对用户进行排序!

相关推荐

如何根据评论元字段对“EDIT-Comments.php”表中的评论进行排序?

目标在;编辑注释。php“;单击自定义列的标题后,基于注释元字段的表。上下文为了简洁起见,我们假设在发布评论时,一个名为;“红心”;指定给它,以便所有注释都具有从0到10的正整数字段。的bold 下面提到的步骤,前三个步骤是针对上下文和预期工作给出的,问题是在第四个步骤上。1. Creating the columnadd_filter( \'manage_edit-comments_columns\', \'hearts_add_comments_column\' ); function hea