日星网 windows 中文论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 417|回复: 0

WordPress 用户的创建,更新,删除

[复制链接]
发表于 2016-5-5 08:35:12 | 显示全部楼层 |阅读模式
在 WordPress 里面,用户和访客是不同的概念。用户是在你的网站是注册,有自己的用户名的人群。你可以在设置面板里开启允许新用户注册的功能,在“会员”里把“允许所有用户注册”的勾打上就可以了。

在这一节里面,我们会涉及到 WordPress 里面一些与注册用户交互的重要函数。全新安装的 WordPress 应该至少有一个用户:即安装 WordPress 的那个。在旧版本里面,该用户的名字只能是“管理员”,而现在你可以在安装的时候自定义一个名字了。

1. 创建一个用户,升级和删除用户

WordPress 有一个可视化界面来创建,升级和删除用户。你应该大部分时间都用这种方式。但是也有一些情况是你想要通过代码的方式来解决的:例如,当你把用户从另外一个平台导入的时候,或者是自己设计注册表格的时候。

WordPress 有四个函数了完成这些活动:

  • wp_create_user
  • wp_insert_user
  • wp_update_user
  • wp_delete_user


一开始坑有一些困扰。前面三个函数都快用来创建新的用户, 而 “wp_insert_user” 和 “wp_update_user” 可以用来升级已经存在的用户。这样设定是有原因的。

有两种方法来创建一个新的用户:

1. 通过通过传递最小的必备信息来创建一个用户(用户名,密码和 email)。在这种情况下,你应该使用 wp_create_user 函数。

2. 通过传递用户数据的数组。在这种情况下,你应该使用 wp_insert_user 函数。这个可以在你增加一个用户之前就可以设置好。

要升级一个存在的用户,你应该使用 wp_update_user 函数。不过,用 wp_insert_user 也是可行的,但这个函数不验证用户密码,所以可能会失败。所以呢,最好还是用最好的工具来做恰当的事情。

下面我会写一些小片段来示范一下每个函数是怎样使用的。如果你需要更多的信息,你可以去 Codex 上找更详细的介绍。

wp_create_user 的用法
  1. add_action( 'init', 'wpttuts_createuser' );

  2. function wpttuts_createuser() {
  3.     // User Data
  4.     $user_name = 'new_user';
  5.     $user_password = 'new_user_password';
  6.     $user_email = 'new_user@gmail.com';

  7.     // Create the user
  8.     $user_id = wp_create_user( $user_name, $user_password, $user_email );

  9.     // Checks if the function returned a WP Error Object
  10.     if ( is_wp_error ($user_id) ) {
  11.         $user_id->get_error_message();
  12.     }
  13.     else {
  14.         // user created successfully
  15.     }
  16. }
复制代码


wp_insert_user 的用法
  1. add_action( 'init', 'wpttuts_insertuser' );

  2. function wpttuts_insertuser() {
  3.     // Prepare the user data
  4.     $user_data = array (
  5.         'user_login' => 'new_user',
  6.         'user_password' => 'new_user_password'     
  7.         'user_email' => 'new_user@gmail.com',
  8.         'role' => 'administrator'
  9.     );

  10.     // Create the user
  11.     $user_id = wp_insert_user( $user_data );

  12.     // Checks if the function returned a WP Error Object
  13.     if ( is_wp_error( $user_id ) ) {
  14.         $user_id->get_error_message();
  15.     }
  16.     else {
  17.         // user created successfully
  18.     }
  19. }
复制代码


wp_update_user 的用法
  1. add_action( 'init', 'wpttuts_updateuser' );

  2. function wpttuts_updateuser() {

  3.     // Prepare the user data
  4.     $user_data = array (
  5.         'user_id' => 3,
  6.         'description' => ' Our newly created user'
  7.     );

  8.     // Updates the user description
  9.     $user_id = wp_update_user( $user_data );

  10.     // Checks if the function returned a WP Error Object
  11.     if ( is_wp_error( $user_id ) ) {
  12.         $user_id->get_error_message();
  13.     }
  14.     else {
  15.         // user updated successfully
  16.     }
  17. }
复制代码


wp_delete_user 的用法
  1. add_action( 'init', 'wpttuts_deleteuser' );

  2. function wpttuts_deleteuser() {
  3.     if ( wp_delete_user( 3, 1 ) ) {
  4.         // User removed successfully
  5.     }
  6. }
复制代码


您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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