所以我试图只从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();
?>
上面的代码我哪里出错?
答案 0 :(得分:5)
使用posts_per_page代替&#34; showposts&#34;
即
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();
?>
答案 1 :(得分:1)
解决(解决方法)问题的最简单方法是删除while循环。这样,您只能打印一个。
当然,这是次优的,因为其他页面可能被取出和未使用;您可以尝试使用posts_per_page=1
或post_limits=1
来查看是否解决了问题。