自定义帖子限制只对主页没有插件?

时间:2017-02-11 作者:rachaelportier

我有一个wordpress网站,我的最新帖子显示在主页上,比我的其他帖子大。从第2个帖子开始,帖子将显示在网格中。除了第一页之外,我每个页面都有6篇文章的分页,我需要7篇文章,因为最近的一篇文章是最大的,占据了两个网格空间。我可以通过插件自定义帖子限制来完成这一点,但我想知道是否有一种不依赖插件的方法。我尝试过pre\\u get\\u帖子,但不知道如何在第1页上指定7篇帖子,然后在每一页上指定6篇帖子。

我试过类似的方法,但没有效果。请帮忙!

function custom_posts_per_page($query) {
    if ($query->is_home() && $query->is_main_query()) {
       $query->set(\'posts_per_page\', \'7\');
       return;
    }

    if (!$query->is_home() && !$query->is_main_query()) {
       $query->set(\'posts_per_page\', \'6\');
       return;
    }
}

add_action(\'pre_get_posts\', \'custom_posts_per_page\');

1 个回复
SO网友:KAGG Design

你应该采取另一种方法。在主页上,您必须进行2个查询:

一个用于带有参数的最新帖子post_per_page=1 显示最新帖子;

和第二个带参数的查询post_per_page=6&offset=1 要显示分页的其他帖子(最新帖子除外):每页6篇帖子。

相关推荐

Even/Odd every two posts

我需要每两篇文章显示一个不同的布局,是否可以使用偶数/奇数来实现这一点?<?php while (have_posts()): the_post() ?> <?php if ($wp_query->current_post % 2 == 0): ?> even <?php else: ?> odd <?php endif ?> <?php endwhile