0%

获取Wordpress 登录用户资料

wordpress在开放用户登陆注册时需要获取当前登录用户信息功能。
我们的目的就是欢迎当前的登录用户啦,当然这仅仅是最简单的目的,更深层次的目的是根据当前登录用户控制用户的行为,比如你想让当前用户能看什么,不能看什么,也就说控制用户的权限。当然这个就超出了本文的范围了,本文仅仅是教你如何获取当前登录用户信息。

1)使用函数 get_currentuserinfo();
此函数将当前登录用户信息赋给全局变量$current_user以及一些单独的用户信息全局变量例如$display_name, $user_email等。 代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
<?php global $current_user, $display_name , $user_email;
get_currentuserinfo();
//全局变量$current_user
echo 'Username: ' . $current_user->user_login . "\n";
echo 'User email: ' . $current_user->user_email . "\n";
echo 'User first name: ' . $current_user->user_firstname . "\n";
echo 'User last name: ' . $current_user->user_lastname . "\n";
echo 'User display name: ' . $current_user->display_name . "\n";
echo 'User ID: ' . $current_user->ID . "\n";
//单独的全局变量
echo $display_name . "'s email address is: " . $user_email;
?>

2)使用函数 wp_get_current_user()
此函数必须将返回值赋给一个数组变量,代码如下:

1
2
3
4
5
6
7
8
<?php
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) {
// Not logged in.
} else {
// Logged in.
}
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
wp_get_current_user();
/**
* @example Safe usage: $current_user = wp_get_current_user();
* if ( !($current_user instanceof WP_User) )
* return;
*/
echo 'Username: ' . $current_user->user_login . '<br />';
echo 'User email: ' . $current_user->user_email . '<br />';
echo 'User first name: ' . $current_user->user_firstname . '<br />';
echo 'User last name: ' . $current_user->user_lastname . '<br />';
echo 'User display name: ' . $current_user->display_name . '<br />';
echo 'User ID: ' . $current_user->ID . '<br />';
?>