Функция SET_QUERY_VAR() в WordPress
Функция SET_QUERY_VAR()
используется для установки значения переменной запроса в классе WP_Query
. Эта функция особенно полезна, когда вы хотите передать данные в шаблон или изменить параметры запроса.
Скорость работы:
- 1 раз — 0.000015 сек (очень быстро)
- 50000 раз — 0.01 сек (световая скорость)
- Совместимо с PHP 7.0.2 и WP 4.4.1.
Не требует хуков.
Возвращаемое значение
Функция не возвращает ничего (null).
Использование
Чтобы использовать эту функцию, вам нужно передать два аргумента:
set_query_var( $query_var, $value );
- $query_var (строка) (обязательный) — ключ переменной запроса.
- $value (смешанный тип) (обязательный) — значение переменной запроса.
Примеры
Пример 1: Установить параметр запроса и затем получить его
// Устанавливаем
set_query_var( 'comments_per_page', 20 );
// Получаем
$var = get_query_var( 'comments_per_page' );
echo $var; // 20
Пример 2: Передача переменной в файл шаблона
Вы можете использовать эту функцию для передачи данных в файл шаблона, когда вы вызываете его с помощью функции get_template_part()
.
// При вызове шаблона с помощью get_template_part()
set_query_var( 'my_form_id', 23 );
get_template_part( 'my-form-template' );
В коде шаблона вы можете получить данные следующим образом:
// Внутри my-form-template.php
$my_form_id = get_query_var('my_form_id');
Начиная с версии WP 5.5, вы можете передавать данные в файл шаблона через третий параметр функции get_template_part()
.
Примечания
- Глобальная переменная:
$wp_query
— объект запроса WordPress.
Изменения
- С версии 2.2.0 — впервые была внедрена функция.
Код функции
Вот как выглядит код функции set_query_var()
в WordPress 6.7.2:
function set_query_var( $query_var, $value ) {
global $wp_query;
$wp_query->set( $query_var, $value );
}
Связанные функции
Вот некоторые функции, которые могут быть полезны при работе с запросами в WordPress:
esc_sql()
get_boundary_post()
get_children()
get_page_by_title()
get_pages()
get_posts()
get_queried_object()
get_queried_object_id()
get_query_var()
have_posts()
query_posts()
rewind_posts()
setup_postdata()
wp()
wp_get_recent_posts()
WP_Query()
wp_reset_query()
wp_reset_vars()
Эти функции позволяют управлять запросами и получать необходимую информацию из базы данных WordPress.