我需要从wordpress获得第二个最新帖子,我不能这样做。我发现很多教程如何获得几个最新的帖子,但没有如何只获得一个在顺序中排名第二的帖子(或者第五个或第十个)。
我有这样的事情:
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php if(get_posts()[1] == true) : ?>
<?php get_template_part( 'content-second-row', ( post_type_supports( get_post_type(), 'post-formats' ) ? get_post_format() : get_post_type() ) ); ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
但是,当然它不起作用。我试着得到get_post()。length。我知道,不幸的是我不能使用帖子ID,因为没有一个一个。
请帮助我。
当然,我尝试在wordpress codex中找到一些东西
答案 0 :(得分:1)
试试这个
get_posts( array('posts_per_page' => 5,'offset' => 1,))
您可以将偏移更改为您想要的任何数字。
答案 1 :(得分:0)
我问你们更多的人。我有循环的问题,只得到第五个帖子。
我有什么:
在function.php(工作得很好)
function get_fifth_post( $args = array(), $output = ARRAY_A ) {
$args = array(
'numberposts' => 1,
'offset' => 0,
);
$post = wp_get_recent_posts( $args, ARRAY_A );
return $post;
}
但在我的模板中:
<?php if ( have_posts() ) : get_fifth_post()?>
<?php var_dump(get_fifth_post()); ?> //OK post
<?php get_template_part( 'content-second-row', ( post_type_supports( get_post_type(), 'post-formats' ) ? get_post_format() : get_post_type() ) ); ?>// wrong
<?php endif; ?>
所以,函数get_fifth_post运行良好,但接下来,在我的模板(内容第二行)中,我有不同的帖子内容