创建和管理用户
插入用户
要添加用户使用ether wp_insert_user或wp_create_user。 wp_create_user只能创建一个用户,不允许管理任何额外的用户字段。 wp_insert_user允许填写所有用户字段。
参数
$userdata
(混合)(必需)用户数据数组,stdClass或WP_User对象。
Default: None
返回值
(混合)如果成功,返回新创建的用户的user_id,否则返回一个WP_Error对象。
例子
下面是一个示例,显示如何插入一个新的用户的网站配置文件字段填充。
如果成功,返回新创建的用户的user_id,否则返回一个WP_Error对象。
$ userdata数组可以包含以下字段
|字段名称|描述|关联过滤器|
|—|---|—||
|ID |将用于更新现有用户的整数。 |(没有)|
|user_pass |一个包含用户明文密码的字符串。|pre_user_pass|
|user_login |包含用户登录用户名的字符串。|pre_user_login|
|user_nicename |包含用户的URL友好名称的字符串。 默认是用户的用户名。 |pre_user_nicename|
|user_url |包含用户网站的用户URL的字符串。|pre_user_url|
|user_email |包含用户电子邮件地址的字符串。 |pre_user_email|
|display_name | 将在网站上显示的字符串。 默认为用户的用户名。 很可能您会想通过晦涩(即不使用和删除默认管理员用户)来改变外观和安全性。|pre_user_display_name|
|nickname |用户的昵称,默认为用户的用户名。|pre_user_nickname|
|first_name |用户的名字。 |pre_user_first_name|
|last_name |用户的姓氏。|pre_user_last_name|
|description |包含用户内容的字符串。|pre_user_description|
|rich_editing |是否启用富编辑器的字符串。 假如不是空的话。|(none)|
|user_registered| 用户注册的日期。 格式为Y-m-d H:i:s。|(none)|
|role| 用于设置用户角色的字符串。 |(none)|
|jabber|用户的Jabber帐户。|(none)|
|aim| 用户的AOL IM帐号。 |(none)|
|yim| 用户的Yahoo IM帐号。 |(none)|
笔记
用途:
w
p
d
b
W
o
r
d
P
r
e
s
s
数
据
库
层
。
用
途
:
a
p
p
l
y
f
i
l
t
e
r
s
(
)
调
用
大
部
分
wpdb WordPress数据库层。 用途: apply_filters() 调用大部分
wpdbWordPress数据库层。用途:applyfilters()调用大部分 userdata字段的过滤器,前缀为’pre_user’。 见上述说明。
用途: do_action() 在更新时拨打“profile_update”钩子,提供用户的ID
用途: do_action() 在创建提供用户ID的新用户时调用’user_register’钩子
如果没有ID,将创建一个新的用户。 如果您传递ID,则具有该ID的用户将被更新,并且如果在$ userdata中设置,则这些元字段将被更新,否则它们被设置为null:
first_name,
last_name,
nickname,
description,
rich_editing,
comment_shortcuts,
admin_color,
use_ssl,
show_admin_bar_front
当使用wp_insert_user执行更新操作时,user_pass应为散列密码,而不是纯文本密码。
创建用户
<?php wp_create_user( $username, $password, $email ); ?>描述
wp_create_user函数允许您将新用户插入WordPress数据库。 它使用$ wpdb类来转义变量值,准备将其插入到数据库中。 然后使用PHP compact()函数创建一个包含这些值的数组。 要创建具有附加参数的用户,请使用wp_insert_user()。
例
如在wp-admin/upgrade-functions.php中使用的:
$user_id = username_exists(
u
s
e
r
n
a
m
e
)
;
i
f
(
!
user_name ); if ( !
username);if(!user_id and email_exists($user_email) == false ) {
$random_password = wp_generate_password( $length=12, $include_standard_special_chars=false );
$user_id = wp_create_user( $user_name, $random_password, $user_email );
} else {
$random_password = __(‘User already exists. Password inherited.’);
}
参数
$username
(string) (required) 要创建的用户的用户名。
Default: None
$password
(string) (required) 要创建的用户的密码
Default: None
$email
(string) (optional) 要创建的用户的电子邮件地址。
Default: None
退货
成功后 - 此函数返回创建的用户的用户ID。 在失败(用户名或电子邮件已存在)的情况下,函数返回一个错误对象,带有这些可能的值和消息;
empty_user_login, 无法创建具有空登录名的用户。
existing_user_login, 此用户名已被注册。
existing_user_email, 该邮箱地址已被注册。
更新用户
描述
此功能可更新数据库中的单个用户。 此更新可以包含多个用户元数据作为数组。
要更新单个用户元数据,请改用update_user_meta()。
要创建新用户,请改用wp_insert_user()。
注意:如果当前用户的密码正在更新,那么cookie将被清除!
参数
$userdata
(mixed) (required) 用户数据数组,stdClass或WP_User对象。
Default: None
Return Values (mixed)
如果成功,返回user_id,否则返回一个WP_Error对象。
例子
以下是一个示例,显示如何更新用户的网站配置文件字段:
描述
删除用户,并可选地将帖子和链接重新分配给另一个用户。
如果$重新分配参数未分配给用户ID,则该用户的所有帖子将被删除。 传递被删除的用户ID的操作“delete_user”将在重新分配或删除帖子后运行。 用户元也将被删除用于该用户ID。
参数
$id
(integer) (required) 用户ID
Default: None
$reassign
(integer) (optional) 重新分配帖子和链接到新的用户ID。
Default: null
Return Values
(boolean)
完成时为真。
例子
允许用户终止其用户帐户。
wp_delete_user( $user_id );
<?php
if ($_POST) {
$user_login=$_POST['user_login'];
$user_pass1=$_POST['user_pass'];
if (empty($user_login)) {
die($_POST['user_login']);
}
if (empty($user_pass1)) {
die('密码不能为空!');
}
$userdata = array(
'user_login' => $_POST['user_login'] ,
'user_url' => 'http://example.com',
'user_pass' => $_POST['user_pass'],
);
$res=wp_insert_user($userdata);
if ($res) {
die('注册成功!');
} else {
die('注册失败!');
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<title>HACKADAY.IO</title>
<link href="<?php bloginfo('stylesheet_directory');?>/style/zhuce/css/bootstrap.min.css" />
<link href="<?php bloginfo('stylesheet_directory');?>/style/zhuce/css/reset.css" rel="stylesheet" type="text/css" />
<link href="<?php bloginfo('stylesheet_directory');?>/style/zhuce/css/style.css" rel="stylesheet" type="text/css" />
</head>
<body class="dl-b">
<div class="col-12">
<div class="m-box">
<h4>HACKADAY.IO <?php echo $current_user->user_email; ?></h4>
<div class="m-title">
<h2>Become a Hackaday.io Member</h2>
<p>Already have account? <a href="">Log In</a></p>
</div>
<form action="" id="form" method="post">
<div class="m-shuru">
<div class="item">
<input name="user_login" type="text" placeholder="Account number" class="text" />
</div>
<div class="item">
<input name="user_pass" type="password" placeholder="Password" class="text" />
</div>
<div class="item">
<input type="submit" name="do" id="do" class="submit" value="Sign in" />
</div>
</div>
</form>
<div class="m-footer">
<div class="m-foot-up">
<a href="">Going up?</a>
</div>
<ul class=" fix">
<li><a href="">About Us</a></li>
<li><a href="">Contact Hackaday.io</a></li>
<li><a href="">Give Feebdack</a></li>
<li><a href="">Terms of Use</a></li>
<li><a href="">Privacy Policy</a></li>
<li><a href="">Hackaday API</a></li>
</ul>
<p>©2020 Hackaday</p>
</div>
</div>
</div>
<!---jquery1.8.3库--->
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory');?>/style/zhuce/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
// $(function(){
// $('#do').on('click',function(){
// $.ajax({
// type:'post',
// url :'/wp-content/themes/nrgnetwork/zhuce_from.php',
// data:$('form').serialize(),
// success: function(res){
// //console.log(res)
// alert(res);
// if (res =="注册成功!") {
// window.location.reload();
// window.location.href="http://cs1.2xwm.com";
// }
// // $('#msg').html(res);
// }
// });
// return false;
// });
// });
$("form").submit(function(e){
e.preventDefault();
//空对象然后添加
var fd = new FormData();
//fd.append("file", $(":file")[0].files[0]); //jQuery 方式
fd.append("do", "submit");
//通过表单对象创建 FormData
var fd = new FormData(document.getElementById("form"));
//var fd = new FormData($("form:eq(0)")[0]); //jquery 方式
//jQuery 方式发送请求
$.ajax({
type:"post",
//url:"",
data: fd,
processData: false,
contentType: false
}).done(function(res){
if(res == '注册成功!'){
alert("注册成功!");
window.location.reload()
window.location.href="http://cs1.2xwm.com";
}else{
alert(res);
}
});
return false;
});
</script>
</body>
</html>