# 使用用户元数据 #### 介绍 WordPress 的`users`表被设计为仅包含有关用户的基本信息。
笔记:从 WP 4.7 开始,该表包含:`ID`、`user_login`、`user_pass`、`user_nicename`、`user_email`、`user_url`、`user_registered`、`user_activation_key`和。`user_status``display_name`
因此,为了存储额外的数据,`usermeta`引入了表,它可以存储有关用户的任意数量的数据。 `ID`两个表使用基于表中的一对多关系连接在一起`users`。 #### 操纵用户元数据 操作用户元数据有两种主要方法。 1. 用户个人资料屏幕中的表单字段。 2. 以编程方式,通过函数调用。 #### 通过表单字段 表单字段选项适用于用户有权访问 WordPress 管理区域的情况,他可以在其中查看和编辑配置文件。 在我们深入研究示例之前,了解该过程中涉及的钩子以及它们存在的原因非常重要。 #### show\_user\_profile钩 每当用户编辑**其自己的**用户配置文件时,就会触发此操作挂钩。 **请记住,**无法编辑自己的个人资料的用户不会触发此挂钩。 #### edit\_user\_profile钩 每当用户编辑**其他人**的用户配置文件时,就会触发此操作挂钩。 **请记住,**不具备编辑第 3 方配置文件功能的用户不会触发此挂钩。 #### 表单字段示例 在下面的示例中,我们将向所有个人资料屏幕添加生日字段。在配置文件更新时将其保存到数据库中。
```php /** * The field on the editing screens. * * @param $user WP_User user object */ function wporg_usermeta_form_field_birthday( $user ) { ?>

It's Your Birthday

Please enter your birthday date.

add_user_meta()`、`update_user_meta()`和。`delete_user_meta()``get_user_meta()` #### 添加 ```php add_user_meta( int $user_id, string $meta_key, mixed $meta_value, bool $unique = false ); ``` `add_user_meta()`有关所用参数的完整说明,请参阅函数参考。 #### 更新 ```php update_user_meta( int $user_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' ); ``` `update_user_meta()`有关所用参数的完整说明,请参阅函数参考。 #### 删除 ```php delete_user_meta( int $user_id, string $meta_key, mixed $meta_value = '' ); ``` `delete_user_meta()`有关所用参数的完整说明,请参阅函数参考。 #### 得到 ```php get_user_meta( int $user_id, string $key = '', bool $single = false ); ``` `get_user_meta()`有关所用参数的完整说明,请参阅函数参考。 请注意,如果您仅传递`$user_id`,该函数将以关联数组的形式检索所有元数据。 您可以在插件或主题中的任何位置呈现用户元数据。