Я пытаюсь контролировать вывод поста до трех, но WordPress добавляет в Sticky посты, которые игнорируют мой лимит постов. Так что, если у меня есть один прикрепленный пост, на странице отображаются 4 сообщения, а не три, как следует.
Я искал и нашел похожие проблемы, но код настолько отличается, что я не могу заставить его работать в моей ситуации. Полное раскрытие: я не эксперт php.
Вот мой цикл:
<?php query_posts('showposts=3'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="news-item" id="post-<?php the_ID(); ?>">
<?php if ( has_post_thumbnail()) : ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >
<span class="meta-date-group">
<span class="meta-date-month"><?php the_time('M'); ?></span>
<span class="meta-date-day"><?php the_time('j'); ?></span>
</span>
<?php the_post_thumbnail('square'); ?>
</a>
<?php endif; ?>
<h4 class="hnews"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
<div class="hexcerpt"><?php the_excerpt(); ?></div>
<a class="readmore" href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >Read More</a>
</div><!--END news-item-->
<?php endwhile; else: ?>
добавьте это к вашему аргументу запроса
"post__not_in" => get_option("sticky_posts")
или вы можете отфильтровать ваш пост в цикле как:
if (!is_sticky())
{
// your code
}
Других решений пока нет …