日星网 windows 中文论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 451|回复: 0

获取Wordpress 登录用户资料

[复制链接]
发表于 2015-6-8 04:03:53 | 显示全部楼层 |阅读模式
wordpress在开放用户登陆注册时需要获取当前登录用户信息功能。
我们的目的就是欢迎当前的登录用户啦,当然这仅仅是最简单的目的,更深层次的目的是根据当前登录用户控制用户的行为,比如你想让当前用户能看什么,不能看什么,也就说控制用户的权限。当然这个就超出了本文的范围了,本文仅仅是教你如何获取当前登录用户信息。

1)使用函数 get_currentuserinfo();
此函数将当前登录用户信息赋给全局变量$current_user以及一些单独的用户信息全局变量例如$display_name, $user_email等。 代码如下:
  1. <?php global $current_user, $display_name , $user_email;
  2. get_currentuserinfo();
  3. //全局变量$current_user
  4. echo 'Username: ' . $current_user->user_login . "\n";
  5. echo 'User email: ' . $current_user->user_email . "\n";
  6. echo 'User first name: ' . $current_user->user_firstname . "\n";
  7. echo 'User last name: ' . $current_user->user_lastname . "\n";
  8. echo 'User display name: ' . $current_user->display_name . "\n";
  9. echo 'User ID: ' . $current_user->ID . "\n";
  10. //单独的全局变量
  11. echo $display_name . "'s email address is: " . $user_email;
  12. ?>
复制代码


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

  1. <?php
  2. $current_user = wp_get_current_user();
  3. if ( 0 == $current_user->ID ) {
  4. // Not logged in.
  5. } else {
  6. // Logged in.
  7. }
  8. ?>
复制代码

  1. <?php
  2.     wp_get_current_user();
  3.     /**
  4.      * @example Safe usage: $current_user = wp_get_current_user();
  5.      * if ( !($current_user instanceof WP_User) )
  6.      *     return;
  7.      */
  8.     echo 'Username: ' . $current_user->user_login . '<br />';
  9.     echo 'User email: ' . $current_user->user_email . '<br />';
  10.     echo 'User first name: ' . $current_user->user_firstname . '<br />';
  11.     echo 'User last name: ' . $current_user->user_lastname . '<br />';
  12.     echo 'User display name: ' . $current_user->display_name . '<br />';
  13.     echo 'User ID: ' . $current_user->ID . '<br />';
  14. ?>
复制代码
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|小黑屋|日星网 ( 黑ICP备07001742号 )

GMT, 2018-11-19 06:44 AM , Processed in 0.018294 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表