Query_posts() - функция WordPress, модификация основного цикла

Опубликовано: 08.10.2017

видео query_posts() - функция WordPress, модификация основного цикла

Custom Wordpress Templates and Themes, Part12, Useing query_posts

Когда я писал про циклы , я говорил, что если хотите как-то «по-особому» вывести записи, например в случайном порядке, используйте query_posts().


WordPress 101 - Part 9: Edit the query_posts with WP_Query

Итак, query_posts() видоизменяет основной цикл WordPress, то есть, если раньше на главной показывались последние 10 записей с блога, то теперь там может показываться что угодно и сколько угодно.

$query (строка|массив) все параметры такие же, как и у WP_Query()

Обычные примеры

Этот код выведет заголовки всех записей из рубрики с id=22:

query_posts ( "cat=22" ) ; while ( have_posts ( ) ) : the_post ( ); echo '<p>' ; the_title ( ); echo '</p>' ; endwhile ; wp_reset_query ( );

Как и в случае с wp_list_categories() , параметры можно указывать в скобках, а можно выносить в отдельную переменную-массив (кстати, советую использовать именно двойные кавычки, как в примере).

Выводим записи из всех рубрик кроме id=1 и id=4:

query_posts ( "cat=-1,-4" ) ;

Выводим записи, опубликованные в текущем месяце.

$curr_year = date ( 'Y' ) ; // текущий год $curr_month = date ( 'm' ) ; // текущий месяц query_posts ( "year= $curr_year &monthnum= $curr_month " );

Записи из рубрики с id=2, опубликованные в текущем месяце и отсортированные по заголовкам (в алфавитном порядке) по возрастанию:

$args = array ( 'cat' => 2 , 'year' => $curr_year , 'monthnum' => $curr_month , 'orderby' => 'title' , 'order' => 'ASC' ) ; query_posts ( $args ) ;

Примеры с модификацией основного цикла страницы

Честно говоря, все предыдущие примеры вообще как-то не в тему к этой функции, они больше подходят к использованию через WP_Query() . Ну да ладно, прост пост я писал давно, а сейчас жалко все это удалять. Короче я покажу, для чего на самом деле нужна функция query_posts().