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();

Приклади

0

#1 Видалимо посилання на REST API

Цей код не відключає REST API, а лише скасовує виведення посилання на всіх сторінках сайту. Код можна вставляти в плагін або functions.php теми безпосередньо.

remove_action( 'wp_head', 'rest_output_link_wp_head' );

нотатки

список змін

З версії 4.4.0Введено.

Код rest_output_link_wp_head() WP 6.0.2

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 ) ) ));
	}
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *