Иногда нам может потребоваться добавить настраиваемые поля в существующее ядро WordPress REST API, которое нам также может понадобиться в модуле wp.data
для разработки настраиваемого блока Гутенберга.
В этом блоге мы узнаем, как именно это сделать.
Добавьте настраиваемое поле в конечную точку «пользователь».
Мы будем использовать register_rest_field
функцию и подключим ее к rest_api_init
хук. Так что добавьте это в свой functions.php
add_action( 'rest_api_init', 'adding_user_meta_rest' );
/** * Adds user_meta to rest api 'user' endpoint. */ function adding_user_meta_rest() { register_rest_field( 'user', 'user_meta', array( 'get_callback' => 'user_meta_callback', 'update_callback' => null, 'schema' => null, ) ); }
/** * Return user meta object. * * @param array $user User. * @param string $field_name Registered custom field name ( In this case 'user_meta' ) * @param object $request Request object. * * @return mixed */ function user_meta_callback( $user, $field_name, $request) { return get_user_meta( $user['id'] ); }
Доступ к зарегистрированному полю с помощью REST API
Давайте подключимся к следующей конечной точке в браузере /wp-json/wp/v2/users/
Доступ к зарегистрированному полю с помощью модуля данных WordPress.
Теперь вы можете получить доступ к полю пользователя в модуле данных WordPress и для разработки блоков.
Давайте запустим это в консоли на странице редактора WordPress.
wp.data.select('core').getCurrentUser();
Это все люди