Как можно исключить маршрут Rest API из списка доступных маршрутов WP JSON?

Как скрыть созданный маршрут в WordPress, используя register_rest_route(), чтобы он не отображался в списке всех маршрутов /wp-json/, но при этом оставить доступ к нему в Rest API для публичного использования?
Изображение к вопросу
  • 28 октября 2023 г. 15:58
Ответы на вопрос 2
Для исключения маршрута Rest API из списка доступных маршрутов WP JSON, можно использовать хук `rest_endpoints`. В нем вы можете удалить созданный маршрут из списка всех маршрутов.

Вот пример кода, который поможет вам скрыть маршрут:

```php
add_filter( 'rest_endpoints', 'exclude_route_from_json_api' );
function exclude_route_from_json_api( $endpoints ) {
    // Укажите название вашего маршрута, который нужно исключить
    $route_to_exclude = '/your-route';

    if ( isset( $endpoints[ $route_to_exclude ] ) ) {
        unset( $endpoints[ $route_to_exclude ] );
    }

    return $endpoints;
}
```

Этот код должен быть добавлен в ваш файл functions.php или в файл плагина, который вы используете.

После добавления этого кода, ваш созданный маршрут не будет отображаться в списке всех маршрутов `/wp-json/`, но при этом останется доступным для публичного использования в Rest API.
1. Проверьте, есть ли у вас аргумент show_in_index, который может выполнять нужные действия.
2. Используйте функцию permission_callback для ограничения использования.
Похожие вопросы