WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

rest_output_link_wp_head() WP 4.4.0

Выводит ссылку на корневой REST API маршрут в секции <head> на всех страницах сайта.

Ссылка имеет вид:

<link rel='https://api.w.org/' href='http://wp-test.ru/wp-json/' />

Такая ссылка является уведомлением для клиентских приложений, что у сайта есть свой API.

По умолчанию в WordPress эта функция вызывается через хук 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 );
Работает на основе: get_rest_url()
1 раз = 0.004168с = очень медленно | 50000 раз = 4.19с = быстро | PHP 7.1.11, WP 4.9.8

Хуков нет.

Возвращает

Ничего (null).

Использование

rest_output_link_wp_head();

Примеры

#1 Удалим ссылку на REST API

Данный код не отключает REST API, а лишь отменяет вывод ссылки на всех страницах сайта. Код можно вставлять в плагин или functions.php темы напрямую.

remove_action( 'wp_head', 'rest_output_link_wp_head' );

Заметки

  • Смотрите: get_rest_url()

Список изменений

С версии 4.4.0 Введена.

Код rest_output_link_wp_head() WP 5.5.1

wp-includes/rest-api.php
<?php
function rest_output_link_wp_head() {
	$api_root = get_rest_url();

	if ( empty( $api_root ) ) {
		return;
	}

	printf( '<link rel="https://api.w.org/" href="%s" />', esc_url( $api_root ) );

	$resource = rest_get_queried_resource_route();

	if ( $resource ) {
		printf( '<link rel="alternate" type="application/json" href="%s" />', esc_url( rest_url( $resource ) ) );
	}
}

Cвязанные функции

Из метки: REST API

campusboy 3610youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Редакторы: Kama 7835
Комментариев нет