如何在WordPress上显示随机帖子,除了上一篇发表的帖子

时间:2015-04-15 06:26:53

标签: php wordpress post random

我有一个人们可以上传文章的网站,但我想在主页上发布一篇随机帖子,除了最后发表的帖子,因为如果所有帖子都是随机的,那么用户最近看不到他的帖子上传。

我找到了这个,这是我正在使用的那个

add_action('pre_get_posts', 'my_pre_get_posts');
function my_pre_get_posts($query) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set('orderby', 'rand');
    }
}

1 个答案:

答案 0 :(得分:0)

这是完全未经测试的,但您可以使用get_posts来设置最新的帖子ID,然后将其从主查询中排除

add_action('pre_get_posts', 'my_pre_get_posts');
function my_pre_get_posts($query) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $newest = get_posts( array( 'posts_per_page' => 1, 'fields' => 'ids' ) );
        $query->set( 'post__not_in', $newest );
        $query->set('orderby', 'rand');
    }
}