wp_robots() WP 5.7.0

Виводить на екран мета-тег robots.

Об’єднує всі наявні директиви, очищає їх і виводить у мета-тезі robots:

<meta name='robots' content='директива, директива'>

<!-- наприклад -->
<meta name='robots' content='noindex, follow, max-image-preview:large' />

Читайте також: Robots API в WodPress .

Функція автоматично викликається ядром WordPress на події wp_head , щоб мета-тег robots виводився автоматично, де це необхідно. Робиться це таким хуком у ядрі:

add_action( 'wp_head', 'wp_robots', 1);

Тому плагін або тема не повинні викликати цю функцію окремо. У особливих випадках, наприклад, коли шаблон не використовує wp_head() , нова функція може бути підключена до свого фільтра або викликана безпосередньо в коді:

// підключення до фільтра
add_action( 'my_custom_template_head', 'wp_robots');

// Прямий виклик
<?php wp_robots() ?>

Хуки з функції

Повертає

null. Виводить HTML-код на екран.

Використання

wp_robots();

Приклади

0

#1 Приклад додавання довільний директиви в метатег robots

Цей приклад показує як додати директиву followдо наявних директив метатегу robots.

Щоб додати свої директиви, потрібно використовувати хук wp_robots . Він приймає масив де в ключі потрібно вказати назву директиви, а в значенні її значення.

add_filter( 'wp_robots', 'my_wp_robots_add_follow');

function my_wp_robots_add_follow( $robots ) {
	$robots['follow'] = true;

	return $robots;
}

список змін

З версії 5.7.0Введено.
З версії 5.7.1Чи не довгі превенти конкретних напрямків до зустрічі з іншими.

Код wp_robots() WP 6.0.2

function wp_robots() {
	/**
	 * Filters directives to be included в the 'robots' meta tag.
	 *
	 * The meta tag буде тільки включатися як необхідно.
	 *
	 * @ Since 5.7.0
	 *
	 * @param array $robots Associative array of directives. Every key must be the name of the directive, and the
	 * corresponding value must either be a string to provide as value for the directive or a
	 * boolean `true` if it is a boolean directive, тобто без значення.
	 */
	$robots = apply_filters( 'wp_robots', array() );

	$robots_strings = array();
	foreach ( $robots as $directive => $value ) {
		if ( is_string( $value ) ) {
			// If a string value, include it as value for the directive.
			$robots_strings[] = "{$directive}:{$value}";
		} elseif ($ value) {
			// Інші, включаючи directive if it is truthy.
			$robots_strings[] = $directive;
		}
	}

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

	echo "<meta name='robots' content='" . esc_attr( implode( ', ', $robots_strings ) ) . "' />n";
}

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

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