通过代码在 WordPress 中添加和更新用户

我们可以使用 wp_create_user() 或 wp_insert_user() 函数在WordPress中添加用户,在本文中,我们会通过几个例子,展示如何使用这两个函数在 WordPress 中添加和更新用户,解释他们之间的相同和不同之处。

wp_create_user 和 wp_insert_user 的不同

wp_create_user

此函数允许我们仅提供用户名、密码、电子邮件这三个必要信息来添加一个用户。用户角色为网站设置的新用户默认角色。事实上,wp_create_user 工作在 wp_insert_user 之上, 是 wp_insert_user 的简化包装。

wp_insert_user

这个函数是通过程序添加 WordPress 用户的完整方式,我们可以传入一些更详细的用户信息,如:姓氏、显示名称、用户角色等等。

示例

我们知道了这两个函数的基础信息,下面我们来看一下示例代码。

通过程序创建 WordPress 用户的简单示例

现在,让我们创建一个名位 peter 和密码为 123456 的订阅者用户(永远不要在实际项目中使用此密码,请阅读如何使用 wp_genetate_password() 函数来生成密码),我们将分别使用这两个函数来完成此操作,以便您可以更清楚的理解其中的差异。

使用wp_create_user 创建用户

$user_id = wp_create_user( 'peter', '123456' );

if ( is_wp_error( $user_id ) ) {
	// 如果因为某些原因无法创建用户,显示错误信息
	echo $user_id->get_error_message();
} else {
	// 创建好了显示创建成功的信息
	echo '用户创建成功!';
}

使用 wp_insert_user 创建用户

$user_id = wp_insert_user(
// 在这里以数组形式提供所有数据
	[
		'user_login' => 'peter',
		'user_pass'  => '1234546',
	]
);

if ( is_wp_error( $user_id ) ) {
	// 如果因为某些原因无法创建用户,显示错误信息
	echo $user_id->get_error_message();
} else {
	// 创建好了显示创建成功的信息
	echo '用户创建成功!';
}

创建好后,新添加的用户将会在用户列表中显示,和在后台直接添加用户的效果是一样的。

通过程序添加管理员用户

如果我们需要在添加用户的时候指定用户的角色,比如添加一个管理员用户,我们就不能再使用 wp_create_user() 函数了,因为该函数无法指定用户角色。这种情况下,我们需要使用 wp_insert_user() 函数来添加用户。

$admin_user_id = wp_insert_user(
	[
		'user_login' => 'peter',
		'user_pass'  => '123456',
		'role'       => 'administrator',
	]
);

if ( ! is_wp_error( $admin_user_id ) ) {
	echo '管理员用户创建成功!';
}

创建用户时可以提供的完整数据

我们知道,WordPress 用户的基础信息存储在 wp_users 数据表中,附加信息存储在 wp_usermeta 数据表中,其中存储在 wp_users 数据表中的信息可以直接传递给 wp_insert_user() 函数来添加,存储在 wp_usermeta 数据表中的一部分附加信息也可以在创建用户时传递给 wp_insert_user() 函数,更多的其他信息可以在创建函数后,使用 update_user_meta() 来添加。

请看下面的示例

$userdata = [
	'user_login'           => 'peter',
	'user_nicename'        => 'peter',
	'nickname'             => 'peter',
	'user_email'           => 'peter@example.com',
	'user_pass'            => '123456',
	'first_name'           => 'Peter',
	'last_name'            => 'Liu',
	'display_name'         => 'Peter Liu',
	'user_url'             => 'https://wpzhiku.com.com',
	'description'          => 'A couple words about Peter here.',
	'rich_editing'         => 'true',
	'syntax_highlighting'  => 'true',
	'comment_shortcuts'    => 'false',
	'admin_color'          => 'fresh',
	'use_ssl'              => false,
	'user_registered'      => '2023-12-31 00:00:00',
	'show_admin_bar_front' => 'true',
	'role'                 => 'subscriber',
	'locale'               => '',
];

$user_id = wp_insert_user( $userdata );

if ( ! is_wp_error( $user_id ) ) {
	update_user_meta( $user_id, 'aim', '' );
	update_user_meta( $user_id, 'yim', '' );
	update_user_meta( $user_id, 'jabber', '' );
}

和创建用户相关的辅助函数

给TA赏糖
共{{data.count}}人
人已赏糖
技术分享

微信小程序备案如何复用同一主体备案信息

2024-3-22 18:06:45

技术分享

Win11 22499预览版更新:微软撤销任务栏等新变化

2024-3-22 18:37:32

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索