我在这里有此功能:
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表中所有用户的数组中。
答案 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;
}