WordPress цикл на основе WP_query()

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

видео WordPress цикл на основе WP_query()

Цикл WordPress Вывод статей сайта

В WordPress шаблонах чаще всего используется стандартный цикл для вывода записей. Стандартный цикл имеет заранее определенные параметры, поэтому с помощью такого цикла можно вывести только определенные записи. Таким образом, использовать стандартный цикл WordPress не всегда удобно.


Создание темы Wordpress - Урок 19 Цикл Wordpress. Натяжка верстки на блог

WordPress цикл на WP_Query()

Если нужно вывести на странице записи, которые совершенно к ней не относятся, то придется создать новый WordPress цикл , и для этого мы сможем использовать класс WP_Query().

Пример: архив произвольного типа записей

Предположим нужно на странице вывести записи произвольного типа . Для этого нам потребуется создать новый шаблон страницы, на которой мы будем использовать новый WordPress цикл на основе WP_Query(). Код будет выглядеть следующим образом:


Как создать шаблон страницы Wordpress, записи или другого типа поста - уроки и разработка WP

<?php /* Template Name: Аксессуары для мобильных устройств */ ?> <?php get_header(); ?> <div id="container"> <div id="content" role="main"> <h1>Аксессуары для мобильных устройств</h1> <!-- Начинается цикл --> <?php $args = array ( 'post_type' => 'acsessuar', 'posts_per_page' => 10, 'paged'=>get_query_var('paged') ); $acsessuar = new WP_Query($args); ?> <?php while ( $acsessuar->have_posts() ) : $acsessuar->the_post(); ?> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) : ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" alt=""><?php the_post_thumbnail(array( 234,124)); ?></a> <?php endif; ?> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> <? the_excerpt(); ?> </div><!-- post --> <?php endwhile; ?> <?php wp_reset_postdata(); ?> <!-- Заканчивается цикл --> </div><!-- #content --> </div><!-- #container --> <?php get_sidebar(); ?> <?php get_footer(); ?>

В данном примере вы можете увидеть где начинается новый WordPress цикл, и где он заканчивается. Обращаю ваше внимание на массив $args, который содержит в себе параметры цикла, на основе которых получаются нужные нам записи. Затем создается новый цикл с помощью функции $acsessuar = new WP_Query($args), и если есть посты удовлетворяющие нашим параметрам, то они выводятся на странице.

После нового цикла не забудьте указать <?php wp_reset_postdata(); ?> - это крайне необходимо для того, чтобы сбросить ранее вызванные параметры WP_Query . Данный шаблон в последующем можно применить к любой WordPress странице, тем самым вызвать на этой странице нужные нам записи.

Подобные WordPress циклы на основе WP_Query можно использовать несколько раз на странице. Напомню, что WordPress циклы можно строить также с помощью классов  query_posts и get_posts.

Параметры WP_Query для построения WordPress циклов

Для построения циклов WP_Query необходимо знать некоторые параметры, которые позволят вам построить нужный цикл. Основные параметры WP_Query:

'post_type' => '', - тип записей

'posts_per_page' => 10, - количество выводимых записей на странице

'category' => , - вывести посты из данной категории (следует указать ID категории)

Также вы можте использовать множество других параметров для построения циклов. Все параметры для WP_query, get_posts и query_posts идентичны, и вы можете найти их на странице с параметрами WP_query .

Подписывайтесь и получайте полезные статьи на почту!

rss