wp() WP 2.0.0

Встановлює основний запит (середа WordPress).

Що саме робить wp() ?

  • встановлює чи перевизначає глобальні змінні: $wp_query , $wp_the_query;

  • встановлює header заголовок (у тому числі “помилка 404”);

  • створює запит до бази даних, з урахуванням переданих аргументів (параметр $query_vars ), результатами запиту заповнює глобальні змінні;

  • встановлює глобальні змінні, такі як $query_string , $posts, $post , $request , $more і $single (для is_author() ) і всі змінні $wp_query :

    Array
    (
    [page] => 0
    [pagename] => s
    [error] =>
    [m] =>
    [p] => 0
    [post_parent] =>
    [subpost] =>
    [subpost_id] =>
    [attachment] =>
    [attachment_id] => 0
    [name] => s
    [static] =>
    [page_id] => 0
    [second] =>
    [minute] =>
    [hour] =>
    [day] => 0
    [monthnum] => 0
    [year] => 0
    [w] => 0
    [category_name] =>
    [tag] =>
    [cat] =>
    [tag_id] =>
    [author] =>
    [author_name] =>
    [feed] =>
    [tb] =>
    [paged] => 0
    [comments_popup] =>
    [meta_key] =>
    [meta_value] =>
    [preview] =>
    [s] =>
    [sentence] =>
    [fields] =>
    [menu_order] =>
    [category__in] => Array
    	(
    	)
    
    [category__not_in] => Array
    	(
    	)
    
    [category__and] => Array
    	(
    	)
    
    [post__in] => Array
    	(
    	)
    
    [post__not_in] => Array
    	(
    	)
    
    [tag__in] => Array
    	(
    	)
    
    [tag__not_in] => Array
    	(
    	)
    
    [tag__and] => Array
    	(
    	)
    
    [tag_slug__in] => Array
    	(
    	)
    
    [tag_slug__and] => Array
    	(
    	)
    
    [post_parent__in] => Array
    	(
    	)
    
    [post_parent__not_in] => Array
    	(
    	)
    
    [author__in] => Array
    	(
    	)
    
    [author__not_in] => Array
    	(
    	)
    
    [ignore_sticky_posts] =>
    [suppress_filters] =>
    [cache_results] => 1
    [update_post_term_cache] => 1
    [update_post_meta_cache] => 1
    [post_type] =>
    [posts_per_page] => 10
    [nopaging] =>
    [comments_per_page] => 10
    [no_found_rows] =>
    [order] => DESC
    )

Функція працює на основі класу WP {}

Для кращого розуміння, як працює ця функція, прочитайте опис хука request

wp() можна використовувати, щоб повністю переписати основний запит WordPress. Тобто. виклик функції з параметрами змінить безліч глобальних змінних і $wp_query у тому числі, а значить зміниться основний цикл виводу.

Не рекомендую використовувати функцію, якщо ви не впевнені, що робите. Для зміни основного циклу є wp_reset_query() . У випадку wp() зробити це вже не вийде.

Наприкінці роботи функції спрацьовує хук-подія wp .

Працює на основі:
WP::main()

Хуків немає.

Повертає

null. Нічого не вертає.

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

wp($query_vars);
$query_vars
(рядок/масив)
Параметри запиту. Приймає ті самі параметри як і
WP_Query .


За замовчуванням: Параметри за замовчуванням

Приклади

0

#1 Демонстрація роботи

Припустимо, що ми маємо постійну сторінку. На початку коду сторінки викличемо функцію так:

<?php wp('author=1&orderby=title&order=ASC'); ?>

Далі йде стандартне виведення циклу.

У результаті циклі будуть виведені пости автора з ID = 1, відсортовані по заголовку записи.

Також на цій сторінці буде спрацьовувати умовний тег is_single() .

нотатки

  • Global. WP. $wp Current WordPress environment instance.
  • Global. WP_Query. $wp_query WordPress Query object.
  • Global. WP_Query. $wp_the_query Copy of WordPress Query object.

список змін

З версії 2.0.0Введено.

Код wp() WP 6.0.2

function wp( $query_vars = '' ) {
	Global $wp, $wp_query, $wp_the_query;

	$wp->main($query_vars);

	if ( ! isset( $wp_the_query ) ) {
		$wp_the_query = $wp_query;
	}
}

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

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