Функция REST_OUTPUT_LINK_WP_HEAD() в WordPress: обзор и применение

Функция REST_OUTPUT_LINK_WP_HEAD() в WordPress

Что это за функция?

Функция REST_OUTPUT_LINK_WP_HEAD() добавляет ссылку на корневой маршрут REST API в секцию <head> всех страниц вашего сайта. REST API — это специальный интерфейс, который позволяет взаимодействовать с вашим сайтом.

Ссылка, которая добавляется, выглядит так:

Эта ссылка сообщает приложениям, работающим с вашим сайтом, что у него есть свой собственный API.

По умолчанию функция вызывается через хук wp_head, который подключает нужные скрипты и стили в заголовок сайта:

add_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 );

Аналогичная ссылка добавляется в заголовки ответа сервера функцией rest_output_link_header(). Она вызывается на следующем хуке:

add_action( 'template_redirect', 'rest_output_link_header', 11, 0 );

Возвращаемое значение

Функция не возвращает ничего (null).

Как использовать?

Просто вызовите функцию в вашем коде:

rest_output_link_wp_head();

Примеры использования

Удаление ссылки на REST API

Если вы хотите удалить ссылку на REST API со всех страниц сайта, можно использовать следующий код. Это не отключает сам REST API, а просто убирает вывод ссылки:

remove_action( 'wp_head', 'rest_output_link_wp_head' );

Этот код можно вставить в файл плагина или в файл functions.php вашей темы.

Как работает функция?

Вот основной код функции rest_output_link_wp_head():

function rest_output_link_wp_head() {
    $api_root = get_rest_url(); // Получаем корневой URL REST API

    if ( empty( $api_root ) ) { // Если URL пустой, ничего не делаем
        return;
    }

    // Выводим ссылку на API
    printf( '', esc_url( $api_root ) );

    $resource = rest_get_queried_resource_route(); // Получаем запрашиваемый маршрут ресурса

    if ( $resource ) { // Если маршрут существует, выводим альтернативную ссылку
        printf(
            '',
            _x( 'JSON', 'Название ссылки на ресурс REST API' ),
            esc_url( rest_url( $resource ) )
        );
    }
}

Объяснение кода

  1. Получение корневого URL: Мы используем функцию get_rest_url(), чтобы получить основной адрес вашего REST API. Если он пустой, вызываем return для окончания выполнения функции.

  2. Вывод ссылки на API: Если URL API определён, мы формируем и выводим HTML-код для этой ссылки.

  3. Вывод альтернативной ссылки: Если есть запрашиваемый ресурс (например, пост или страница), мы добавляем ещё одну ссылку, указывающую на JSON-формат этого ресурса.

Заключение

Функция REST_OUTPUT_LINK_WP_HEAD() является полезным инструментом для добавления поддержки REST API на ваш сайт. Она позволяет приложениям взаимодействовать с вашим контентом через стандартные HTTP-запросы.

Помните, что вы всегда можете модифицировать поведение этой функции, удаляя или добавляя ее вызов в зависимости от ваших нужд!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *