Поэтому я пытаюсь получить только последний прикрепленный пост из WordPress и только 1. Я использую ‘showpost = 1’, но по какой-то причине, если у меня есть два сообщения, помеченные как прикрепленные, оба отображаются?
<h2>Breaking News</h2>
<?php
query_posts('posts_per_page=1');
if (have_posts()) {
while (have_posts()) : the_post();
if ( is_sticky() ) : ?>
<div class="small-12 medium-6 large-4 columns">
<div class="img-holder">
<?php
if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
the_post_thumbnail('sticky-hp-thumbnails');
}
?>
<?php if( get_field('sticky_sub_heading') ): ?>
<div class="tag">
<p>
<?php the_field('sticky_sub_heading'); ?>
</p>
</div>
<?php endif; ?>
</div>
</div>
<div class="small-12 medium-6 large-4 columns">
<h3><a href"<?php the_permalink() ?>">
<?php the_title(); ?>
</a></h3>
<?php if( get_field('sticky_date') ): ?>
<p class="sticky-date">
<?php the_field('sticky_date'); ?>
</p>
<?php endif; ?>
<p>
<?php the_field('sticky_summary'); ?>
</p>
<a href="<?php the_permalink() ?>" class="button">Read More</a> </div>
<?php endif;
endwhile;
}
wp_reset_query();
?>
Где я иду не так в приведенном выше коде?
Используйте posts_per_page вместо «showposts»
то есть
query_posts( 'posts_per_page=1' );
Источник:
https://codex.wordpress.org/Function_Reference/query_posts
Обновлено: Добавление кода WP_QUERY для получения последней заметки:
<?php
$args = array(
'posts_per_page' => 1,
'post__in' => get_option( 'sticky_posts' ),
'ignore_sticky_posts' => 1
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<div class="post">
<h3><?php echo get_the_title(); ?></h3></a>
<p><?php echo get_the_excerpt(); ?></p>
</div>
<?php
endwhile;
endif;
wp_reset_postdata();
?>
Самое простое решение (решение) вашей проблемы — удалить цикл while. Таким образом, вы будете печатать только один.
Конечно, это неоптимально, так как другие страницы могут быть извлечены и не использованы; Вы могли бы попробовать использовать posts_per_page=1
или же post_limits=1
чтобы увидеть, если решить проблему.