按“Order”自定义元字段按顺序显示用户

时间:2012-08-17 作者:Jon Schroeder

好的,这是我当前的代码(它有效,按ID顺序显示用户,不包括管理员用户):

$site_admin = "1";
$order = \'ID\';
$user_ids = $wpdb->get_col("SELECT ID FROM $wpdb->usermeta WHERE ID != \'$site_admin\' ORDER BY $order"); // query users
foreach($user_ids as $user_id) : // start authors\' profile "loop"
    $user = get_userdata($user_id);

    $level = $user->user_level;
    if ($level > 0) 
    { ?>

    ((information to display goes here))

   <?php  } ?>
我想做的是添加一个元字段(我相信这是正确的术语,但如果错误请更正),我已经添加了这个字段,然后为每个作者键入一个数字。

下面是如何添加的(在functions.php中):

<?php function my_new_contactmethods( $contactmethods ) {
$contactmethods[\'order\'] = \'Order on the About Page\'; 
return $contactmethods;
}
add_filter(\'user_contactmethods\',\'my_new_contactmethods\',10,1);?>
最后,我想按这个顺序显示用户。

有很多相关的问题,但我找不到一个可以按照添加在典型Wordpress用户信息(例如ID、user\\u nicename等)之外的字段对用户进行排序的问题。我可以简单地将上面代码中的“ID”替换为“user\\u nicename”,这很好,但我需要能够手动设置每个用户的顺序,因此,任何内置字段都不能用于此目的。

1 个回复
SO网友:ifdion

您可以使用默认功能get_users(), 然后根据元id对结果重新排序answer

结束

相关推荐

使用GET_USERS获取多个角色

我有一些这样的代码: $query_args = array(); $query_args[\'fields\'] = array( \'ID\', \'display_name\' ); $query_args[\'role\'] = \'subscriber\'; $users = get_users( $query_args ); foreach ($users as $user) $users_array[$user->ID] = $user->