我想在没有第一篇文章的情况下设置自定义帖子查询。对于这个问题,我使用了代码清单 -
global $post;
$args = array( 'numberposts' => 3, 'offset' => 1, 'post_type' => 'about-me-items' );
$myposts = get_posts( $args );
foreach( $myposts as $post ) :
setup_postdata($post);
// ...
endforeach;
但它显示所有帖子,没有任何内容被跳过。我想忽略最新的一篇文章。此代码现在显示所有最新的三个帖子。这是在WordPress 3.8
上运行的。
答案 0 :(得分:0)
用$ args替换这个数组。
$args = array( 'numberposts' => 3, 'offset' => 1, 'post_type' => 'about-me-items','order'=> 'DESC', 'orderby' => 'post_date' );
答案 1 :(得分:0)
首先,您不需要在此处使用global $post
,您的代码应该可以使用。由于get_posts()
使用WP_Query,因此您也可以尝试一下,例如:
$args = array('posts_per_page' => 3,
'offset' => 1,
'post_type' => 'about-me-items',
'orderby' => 'date',
'order' => 'DESC'
);
$query = new WP_Query($args);
if ($query->have_posts()) :
while ( $query->have_posts() ) : $query->the_post();
the_title();
// more...
endwhile;
endif;
但是,您的代码应该有效(没有global $post
,它不是必需的)。请点击Codex
关于WP_Query和get_posts的详细信息。