Функция 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 ) )
);
}
}
Объяснение кода
-
Получение корневого URL: Мы используем функцию
get_rest_url(), чтобы получить основной адрес вашего REST API. Если он пустой, вызываемreturnдля окончания выполнения функции. -
Вывод ссылки на API: Если URL API определён, мы формируем и выводим HTML-код для этой ссылки.
-
Вывод альтернативной ссылки: Если есть запрашиваемый ресурс (например, пост или страница), мы добавляем ещё одну ссылку, указывающую на JSON-формат этого ресурса.
Заключение
Функция REST_OUTPUT_LINK_WP_HEAD() является полезным инструментом для добавления поддержки REST API на ваш сайт. Она позволяет приложениям взаимодействовать с вашим контентом через стандартные HTTP-запросы.
Помните, что вы всегда можете модифицировать поведение этой функции, удаляя или добавляя ее вызов в зависимости от ваших нужд!