我希望能帮你找到正确的方向。欢迎来到社区,不要忘记用您尝试过的代码更新您的问题,以便为社区提供更多示例。
让我们开始讨论这个问题。
首先,通过add_user_meta
作用保存数据是正确的,但是add_user_meta
does not exposes the field itself in the REST API. 你需要register 首先将该字段输入API,针对用户类型:
add_action(\'rest_api_init\', function() {
register_rest_field( \'user\', \'phone_number\', [
\'get_callback\' => \'get_user_phone_number\',
\'update_callback\' => \'update_user_phone_number\',
\'schema\' => [
\'type\' => \'string\',
\'description\' => \'The phone number ...\',
\'context\' => [ \'view\', \'edit\' ],
],
]);
});
function get_user_phone_number( $user, $field_name, $request ) {
return get_user_meta( $user[ \'id\' ], $field_name, true );
}
function update_user_phone_number( $user, $meta_value ) {
update_user_meta( $user[ \'id\' ], \'phone_number\', $meta_value );
}
而
schema
参数经常被忽略,它为基本类型的字段提供了很多验证,您甚至可以创建自己的验证函数以避免无效信息,但对于很多事情,在模式中使用正确类型的字段将对您有很大帮助。