Wp reset query wordpress

Примеры. #1. Пример сброса данных поста и страницы. Этот пример полностью аналогичен работе функции wp_reset_query (). $original_query = $wp_query; $wp_query = new WP_Query ( $args ); if ( have_posts () ) { while ( have_posts () ) { the_post (); the_title (); the_excerpt (); } } else echo 'Записей не найдено'; $wp_query = $original_query;

Function: wp_reset_postdata() - Restores the previous query (usually after a loop within another loop) Function: wp_reset_query() Function: is_main_query() - Ensures that the query that is being changed is only the main query; Action Hook: pre_get_posts - Change WordPress queries before they are executed

$query = new WP_Query(); // создаем пустой объект, который будем заполнять отдельно $query->posts = $posts; // $posts содержит данные таблицы wp_posts полученные другим способом. $query->post_count = count( $posts ); // заполняем нашими постами $query->found_posts = count( $posts ); // можно изменить для пагинации

Доступ к справочнику закрыт. Tweet

function wp_reset_query () { $GLOBALS ['wp_query'] = $GLOBALS ['wp_the_query']; wp_reset_postdata (); } После этого, функции have_posts () и другие вновь работают с основным циклом WordPress, но разработчики часто об этом забывают, в результате чего перестает работать пагинация, некоторые виджеты и прочее.

Чтобы использовать этот Тег шаблона после цикла, произвольный цикл (запрос на получение записей) надо сбросить функцией: wp_reset_query () Основа для: is_shop () 1 раз — 0.000012 сек (очень быстро) | 50000 раз — 0.02 сек (скорость света) | PHP 7.0.8, WP 4.6.1. Хуков нет.

have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>