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

使用函数 get_currentuserinfo()

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

<?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;
?>

使用函数 wp_get_current_user()

此函数必须将返回值赋给一个数组变量,代码如下:

<?php
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) {
// Not logged in.
} else {
// Logged in.
}
?>
 <?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 />';
?>

ok,上述任一一个代码放到wordpress主题的任何一个页面模板中都能生效。这仅仅是获取用户信息,使用用户信息控制用户权限这仅仅需要简单的几个判断语句而已,下一篇再说~