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