如何从WordPress的wp_users表中获取所有user_nicename?

时间:2018-08-16 12:06:12

标签: php sql database wordpress

我在这里有此功能:

function displaymeta(){
        global $post;
        global $wpdb;
        $authors = $wpdb->get_results("select id,user_nicename from $wpdb->users");
        foreach($authors as $auth){
                $authorname = get_the_author_meta('user_nicename',$auth->ID);
                echo $authorname;
        }
}
add_filter( 'the_content', 'displaymeta' );

它应该从数据库的wp_users表中检索所有user_nicename。但是,当我执行此代码时,即使有两个不同的用户,我也只会两次获得第一个用户名。我在这里想念什么?谢谢!

更新 我需要做这样的事情:

 $arr=array();
 global $wpdb;
 $authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users 
                                ORDER BY display_name");
 foreach($authors as $auth)
 {
    $arr[]=get_author_meta('user_nicename', $auth->ID);
 }

我想将user_nicename存储在wp_users表中所有用户的数组中。

1 个答案:

答案 0 :(得分:0)

您可以这样简单地完成它:

$users = get_users();
foreach($users as $user) {
    echo $user->user_nicename;
}

更多信息在这里-> https://codex.wordpress.org/Function_Reference/get_users

如果只需要一个仅包含user_nicenames的数组,则可以这样操作:

global $wpdb

$user_nicenames = $wpdb->get_results("SELECT user_nicename FROM {$wpdb->prefix}users", ARRAY_A);

foreach($user_nicenames as $nice_name) {
    echo $nice_name;
}