Функция IS_ROBOTS() в WordPress: проверка запроса к файлу robots.txt

# Функция IS_ROBOTS() │ WP 2.1.0

Функция is_robots() проверяет, идет ли запрос к файлу robots.txt. Это условный тег.

Если в корневом каталоге сайта нет файла robots.txt, WordPress автоматически создает содержание этого файла в реальном времени, и условный тег возвращает true.

Для таких запросов (к robots.txt, который фактически не существует) WordPress вызывает действие:

```php
do_action( 'do_robots' );

Эта функция является оберткой для следующего кода:

global $wp_query;
$wp_query->is_robots();

Использование:
WP_Query::is_robots()
Однократный вызов — 0.000014 сек (очень быстро) | 50000 раз — 0.02 сек (световая скорость)
PHP 7.1.2, WP 4.7.3

Нет хуков.

Возвращаемое значение

true | false. Указывает, является ли запрос к файлу robots.txt.

Применение

if( is_robots() ){
    // это файл robots.txt
}

Примеры

Пример 0

Пример 1

Вы можете проверить запрос после его обработки — это можно сделать на хуке wp. Предположим, мы хотим выполнить какое-то действие на хуке wp, но не хотим, чтобы оно выполнялось, если это запрос к файлу robots.txt:

do_action( 'wp', function(){
    if( is_robots() ){
        return;
    }

    // выполнение других действий
} );

Примечания

  • Глобально. WP_Query. $wp_query — объект запроса WordPress.

Журнал изменений

С версии 2.1.0 — добавлено.

Код функции IS_ROBOTS() в WP 6.7.2

Файл: wp-includes/query.php

function is_robots() {
    global $wp_query;

    if ( ! isset( $wp_query ) ) {
        _doing_it_wrong( __FUNCTION__, __( 'Условные теги запросов не работают до выполнения запроса. До этого момента они всегда возвращают false.' ), '3.1.0' );
        return false;
    }

    return $wp_query->is_robots();
}

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

Условные теги (тип страницы и запрос)

  • is_404()
  • is_admin()
  • is_archive()
  • is_attachment()
  • is_author()
  • is_blog_admin()
  • is_category()
  • is_comment_feed()
  • is_customize_preview()
  • is_date()
  • is_day()
  • is_embed()
  • is_feed()
  • is_front_page()
  • is_home()
  • is_month()
  • is_network_admin()
  • is_page()
  • is_page_template()
  • is_paged()
  • is_post_type_archive()
  • is_preview()
  • is_search()
  • is_single()
  • is_singular()
  • is_ssl()
  • is_tag()
  • is_tax()
  • is_time()
  • is_trackback()
  • is_user_admin()
  • is_year()
  • wp_doing_ajax()
  • wp_doing_cron()
  • wp_is_rest_endpoint()

Условные теги (все)

  • cat_is_ancestor_of()
  • category_exists()
  • comments_open()
  • email_exists()
  • has_block()
  • has_category()
  • has_custom_header()
  • has_excerpt()
  • has_nav_menu()
  • has_post_thumbnail()
  • has_shortcode()
  • has_tag()
  • has_term()
  • have_comments()
  • have_posts()
  • in_category()
  • in_the_loop()
  • is_active_sidebar()
  • is_admin_bar_showing()
  • is_blog_installed()
  • is_child_theme()
  • is_dynamic_sidebar()
  • is_email()
  • is_header_video_active()
  • is_local_attachment()
  • is_login()
  • is_main_query()
  • is_multi_author()
  • is_multisite()
  • is_nav_menu()
  • is_new_day()
  • is_plugin_active()
  • is_post_type_hierarchical()
  • is_sticky()
  • is_taxonomy_hierarchical()
  • is_textdomain_loaded()
  • is_user_logged_in()
  • pings_open()
  • post_exists()
  • post_password_required()
  • shortcode_exists()
  • tag_exists()
  • taxonomy_exists()
  • term_exists()
  • term_is_ancestor_of()
  • wp_attachment_is()
  • wp_is_mobile()
  • wp_is_post_autosave()
  • wp_is_post_revision()
  • wp_is_using_https()
  • wp_script_is()

Основной запрос

  • add_query_arg()
  • get_queried_object()
  • get_queried_object_id()
  • get_query_var()
  • get_search_query()
  • get_status_header_desc()
  • redirect_canonical()
  • remove_query_arg()
  • wp()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *