Ограничение количества записей в функции query_posts для пользовательских типов записей

24 мая 2011 г., 16:29:07
Просмотры: 24.6K
Голосов: 4

Я использую код ниже для отображения записей, определенных как пользовательский тип записи (custom-post-type) и отфильтрованных по пользовательской таксономии 'england'.

Я пытался использовать 'posts_per_page=5' в функции query_posts, но это выводит совершенно другой набор записей из одной из моих категорий записей типа 'news'. Когда я убираю posts_per_page из запроса, он возвращает нужные мне списки, но по умолчанию используется значение 10, установленное в настройках WordPress. Как мне переопределить это в приведенном ниже коде?

        <?php query_posts( array( 'country' => 'event-england') ); ?>
        <?php if( is_tax() ) {
            global $wp_query;
            $term = $wp_query->get_queried_object();
            $title = $term->name;
        }  ?>

        <ul>
            <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

            <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>

            <?php endwhile; else: ?>
            <?php endif; ?>
        </ul>       
1
Комментарии

вы пробовали так: <?php query_posts( array( 'posts_per_page' => 5, 'country' => 'event-england') ); ?>

Michael Michael
24 мая 2011 г. 16:48:58
Все ответы на вопрос 1
0

Вам нужно что-то подобное. Страница Codex для WP_Query очень полезна.

$args = array('post_type' => '<ваше название типа записи>',
              'posts_per_page' => 5,
               'tax_query' => array(
                                array(
                                  'taxonomy' => '<ваше название таксономии>',
                                  'field' => 'slug',
                                  'terms' => 'event-england'
                                 )
                           )
         )

$query = new WP_Query($args)
24 мая 2011 г. 17:37:03