您可以使用offset
排除最新帖子。您的论点可以是:
$args = array(
\'posts_per_page\' => 5,
\'offset\' => 2,
\'post__not_in\' => array(827, 809),
\'post_status\'=>"publish",
\'post_type\'=>"post",
\'orderby\'=>"post_date",
\'cat\'=>\'-1, -8, -9, -7, -6, -5, -4\',
\'paged\'=> $paged
);
但是,正如您所提到的,它将破坏分页。有一个变通方法,如
codex, 它提供了一个解决方案。
使用pre\\u get\\u posts,您可以通过使用pre_get_posts
过滤器:
function exclude_latest_post( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'offset\', \'1\' );
}
}
add_action( \'pre_get_posts\', \'exclude_latest_post\', 1 );
您可以查看codex页面中的备选方案,我跳过了它,因为它很长,并且在codex上有很好的解释。