is_robots()
Перевіряє чи робиться запит до файлу robots.txt. Умовні тег.
Якщо в корені сайту немає фізичного файлу robots.txt , то WordPress генерує контент такого файлу нальоту. Для такого запиту спрацьовуватиме цей умовний тег.
Для такого запиту до файлу robots.txt якого фізично не існує, у файлі do_robots – на цьому хуку генерується контент файлу:
// Process feeds and trackbacks even if not using themes.
if ( is_robots() ) {
/**
* Fired when the template loader determines a robots.txt request.
*
* @ Since 2.1.0
*/
do_action( 'do_robots');
return;
}Це обгортка для конструкції:
global $wp_query; $wp_query->is_robots();
Працює на основі:
WP_Query::is_robots()
WP_Query::is_robots()
1 раз – 0.000014 сек
(дуже швидко) | 50000 разів – 0.02 сек
(швидкість світла) |
PHP 7.1.2, WP 4.7.3
(дуже швидко) | 50000 разів – 0.02 сек
(швидкість світла) |
PHP 7.1.2, WP 4.7.3
Хуків немає.
Повертає
true|false.
Використання
if( is_robots() ){
// це файл робота
}Приклади
#1 Перевіримо поточний запит robots.txt
Перевірити запит можна після того, як він буде оброблений це хук wp . Допустимо нам потрібно зробити що-небудь на цьому хуку, але ми не хочемо нічого робити, якщо це запит до файлу robots.txt:
do_action( 'wp', function(){
if( is_robots() ){
return;
}
// робимо щось
} );
нотатки
- Global. WP_Query. $wp_query WordPress Query object.
список змін
| З версії 2.1.0 | Введено. |
Код is_robots() is robots WP 6.0.2
function is_robots() {
global $wp_query;
if ( ! isset( $wp_query ) ) {
_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags до роботи не працює, тому що керує. Before then, they always return false.' ), '3.1.0' );
return false;
}
return $wp_query->is_robots();
}