WordPress 用户元信息 get_user_meta() 和 update_user_meta()

在WordPress中,get_user_meta 和 set_user_meta 是两个重要的函数,用于管理和操作用户相关的元数据(自定义字段)。下面是对这两个函数的详细说明:

get_user_meta() 获取用户元信息

功能:此函数用于从数据库中检索与特定用户关联的元数据值。

语法:

get_user_meta( $user_id, $meta_key, $single );
  • $user_id(必需,整数):要获取其元数据的用户的ID。
  • $meta_key(必需,字符串):元数据的键名,即你想获取的具体元数据字段的标识。
  • $single(可选,布尔值):指定返回类型。如果设置为 true 并且该元数据只有一个值,则直接返回该值;如果为 false 或未设置,则返回包含所有值的数组(即使只有一个值也会封装在数组中)。

示例

获取用户ID为1的用户的电话号码(假设电话号码作为一个元数据项存储):

$phone_number = get_user_meta( 1, 'phone_number', true );
echo '电话号码: ' . $phone_number;

 

update_user_meta() 更新用户元信息

用于更新现有的用户元信息。如果元信息不存在,则会创建一个新的记录。

/**
 * Updates user meta.
 *
 * @param int    $user_id User ID.
 * @param string $meta_key The key of the meta field.
 * @param mixed  $meta_value The value of the meta field.
 * @param mixed  $prev_value Optional. If specified, only update existing metadata entries with the specified value.
 * @return bool|int False on failure, or the meta ID on success.
 */
function update_user_meta( $user_id, $meta_key, $meta_value, $prev_value = '' );

示例:

$user_id = 1;
$meta_key = 'favorite_color';
$new_meta_value = 'red';
$prev_value = 'blue'; // 只有当值为'blue'时才更新

// 更新用户元信息
if ( update_user_meta( $user_id, $meta_key, $new_meta_value, $prev_value ) ) {
    echo "User meta updated successfully.";
} else {
    echo "No changes were made to the user meta.";
}

 

delete_user_meta() 删除用户元信息

用于删除用户元信息。

/**
 * Deletes user meta.
 *
 * @param int    $user_id User ID.
 * @param string $meta_key The key of the meta field.
 * @param mixed  $meta_value Optional. If specified, only delete the entry with the specified value.
 * @return bool True if deleted, false if not.
 */
function delete_user_meta( $user_id, $meta_key, $meta_value = '' );

示例:

$user_id = 1;
$meta_key = 'favorite_color';

// 删除用户元信息
if ( delete_user_meta( $user_id, $meta_key ) ) {
    echo "User meta deleted successfully.";
} else {
    echo "Failed to delete user meta.";
}

如果只指定了用户ID和meta key,则会删除这个用户的这个key下所有的属性值(属性值可能是一个数组);如果还指定了 meta value,则只会删除 和 meta value 匹配的值。

收藏
评论
打赏
WordPress 文章页作者信息 get_the_author() 和 get_the_author_meta()
上一篇
Mirage 主题 v2.56.0 发布
下一篇

0 条评论

像素鱼丸
85237 阅读
139 发布
3 收藏
动态
Mirage 主题 v2.54.0 发布
Botcan 插件 v2.7.1 发布,支持 AI 生成文章特色图片
Mighty 企业主题 v1.10.0 发布
MirageV 主题 v2.6.4 发布
MirageV 主题 v2.6.0 发布
BotV 插件 v1.7.0 发布
FishV 主题 v1.14 发布
MirageV-App 小程序 v1.2.2 发布
生成中...
真诚赞赏,手留余香
登录
注册
重置密码