Описание rest_api_init
— Action
Хук rest_api_init срабатывает при инициализации REST API в WordPress. Он позволяет разработчикам добавлять или изменять конечные точки API, а также настраивать параметры и поведение REST API
Примеры использования
Пример регистрации новой конечной точки REST API:
add_action('rest_api_init', function() {
register_rest_route('myplugin/v1', '/items/', array(
'methods' => 'GET',
'callback' => 'myplugin_get_items'
));
});
В этом примере мы создаем новую конечную точку API для получения списка товаров.
Пример добавления параметров к существующей конечной точке:
add_action('rest_api_init', function() {
register_rest_route('wp/v2', '/posts/', array(
'methods' => 'GET',
'callback' => 'WP_REST_Posts_Controller::get_items',
'args' => array(
'category' => array(
'required' => false,
'validate_callback' => function($param, $request, $key) {
return is_numeric($param);
},
)
)
));
});
Здесь мы добавляем параметр ‘category’ к существующей конечной точке для получения постов.
Пример создания конечной точки с поддержкой POST-запросов:
add_action('rest_api_init', function() {
register_rest_route('myplugin/v1', '/items/', array(
'methods' => 'POST',
'callback' => 'myplugin_create_item'
));
});
В этом примере мы создаем конечную точку API для добавления нового товара.
— Лучшие практики
– Использование
Используйте этот хук для регистрации новых конечных точек REST API или изменения существующих
– Производительность
Следите за тем, чтобы добавляемые функции были оптимизированы, так как они могут влиять на производительность API
– Предупреждения
Убедитесь, что у вас правильные права доступа для защищенных конечных точек
Альтернативы
Тип: filter
Этот хук позволяет изменять данные перед их отправкой в ответе REST API
Используйте его, если нужно модифицировать данные, которые возвращаются из API