Wordpress loop> уникальный цикл дает немного неправильные результаты - PullRequest
0 голосов
/ 25 декабря 2009

Несколько вещей, которые нужно понять, прежде чем мой вопрос будет иметь смысл:

  • Я использую скрытую категорию под названием «Уникальный», чтобы указать, будет ли публикация использовать файл single.php или специальный, используемый для уникальных.
  • Я хочу, чтобы индекс действовал как единое целое: показ только одного поста, отображение ссылок следующего / предыдущего поста, а также комментариев.
  • Мне нужен index.php, чтобы сказать, относится ли пост к категории 15 (уникально), чем <the_unique_content>, в противном случае; <the_default_content>

Мой цикл делает все это, но проблема в том, что если текущий пост уникален, он также отображает 1 дополнительный пост под уникальным постом.

Вот цикл>

<?php $wp_query->is_single = true; ?>

<?php $post_count = 0; ?>

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

    <?php if ($post_count == 0) : ?>

<?php if (in_category('15')) { ?>   

<?php the_content(); ?> 

<?php } else { ?>   



    <?php the_content(); ?>    



    <?php $post_count++; ?>

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 10 мая 2010

Я не думаю, что вы правильно настраиваете запрос для возврата одного сообщения. Ваш код равен , ограничивая количество сообщений с помощью переменной $post_count, но в случае, когда сообщение является "уникальным", оно увеличивается только до 1 для второго сообщения.

Вот один из способов ограничить количество сообщений одним сообщением. Он включает в себя изменение запроса цикла, чтобы установить количество сообщений на странице равным одному.

<?php
global $wp_query;

$new_query = array_merge( array( 'posts_per_page' => 1 ), $wp_query->query );

query_posts( $new_query );

if (have_posts()) : while (have_posts()) : the_post(); ?>

и т. Д. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...