WordPress笔记20151219

创建用户

使用wp_insert_user( $userdata )函数创建用户,其中user_login和user_pass是必须项。

可能的错误包括以下几种:

  • invalid_user_id
  • empty_user_login
  • user_login_too_long
  • existing_user_login
  • invalid_username
  • user_nicename_too_long
  • existing_user_email

判断创建用户是否成功则只需要判断if( !is_wp_error($user_id) )

设置当前用户

使用wp_set_current_user($id, $name = '')函数设置当前用户,然后就可以通过get_currentuserinfo()获取信息。
但是注意,这是一个使用方便但不安全的接口:

Some WordPress functionality is based on the current user and not based on
the signed in user. Therefore, it opens the ability to edit and perform
actions on users who aren’t signed in.

校验账号密码是否正确

使用wp_authenticate_username_password($user, $username, $password)函数校验账号密码是否正确,如果该账号密码组合可以登录,则返回一个WP_User类型的对象,则可以获取该user的所有信息,比如ID。否则返回一个WP_Error类型的错误信息。

可能的错误包括以下几种:

  • empty_username
  • empty_password
  • invalid_username
  • incorrect_password
  • -

和user_meta相关的几个函数

  1. add_user_meta
  2. delete_user_meta
  3. get_user_meta
  4. update_user_meta

注意,一个meta_key是可以对应多个meta_value的,因此在调用上面几个函数时需要注意:

  • add_user_meta($user_id, $meta_key, $meta_value, $unique = false)的最后一个参数表示是否允许该meta_key可以指向多个meta_value
  • delete_user_meta($user_id, $meta_key, $meta_value = '')的第三个参数表示是删除整个array还是给定(meta_key, meta_value)组合
  • get_user_meta($user_id, $key = '', $single = false)的第三个参数表示是获取一个array还是一个single元素
  • update_user_meta($user_id, $meta_key, $meta_value, $prev_value = '')的最后一个参数表示是更新指定的meta_value还是给meta_key增加一个meta_value

猜你喜欢

转载自blog.csdn.net/nfer_cn/article/details/50357464