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

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

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

WordPress цикл на WP_Query()

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


Пример Ajax подгрузки постов из рубрик в Wordpress - практический урок, гайд по Ajax

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

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

<?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), и если есть посты удовлетворяющие нашим параметрам, то они выводятся на странице.

rss