Показывать только x постов в WordPress, независимо от того, существуют ли липкие посты или нет

Я пытаюсь контролировать вывод поста до трех, но 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: ?>

0

Решение

добавьте это к вашему аргументу запроса

"post__not_in"   => get_option("sticky_posts")

или вы можете отфильтровать ваш пост в цикле как:

if (!is_sticky())
{
// your code
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]