[英]Wordpress show posts from certain category on first page
我想只在首页的某个类别的首页上发布帖子,当用户单击下一页时,他会看到其他所有内容。
我将此添加到我的functions.php中:
function my_home_category ($query) {
if ( $query->is_home() && !($query->is_paged()) && $query->is_main_query() ) {
$query->set( 'cat', '2');
}
}
add_action ('pre_get_posts', 'my_home_category');
而且有效。 唯一的问题是,当我转到page 2
,我看到通常位于第2页的帖子(如果我没有此功能),而不是所有类别的最新帖子。 因此,如果较早前第一页上有其他类别的帖子,我现在就无法在任何地方看到它们。
所以在功能开始之前,我的博客是这样的:
Page1: A, B, C, B, A <br>
Page2: B, A, A, C, B <br>
(A表示来自类别A的帖子...)
我想这样:
Page1: B, B, B, B, B <br>
Page2: A, C, A, A, A <br>
Page3: C ... <br>
但是发生的是:
Page1: B, B, B, B, B <br>
Page2: B, A, A, C, B <br>
你能帮我吗 ?
修改您的功能,以:
function my_home_category ($query) {
if ( $query->is_home() && !($query->is_paged()) && $query->is_main_query() ) {
$query->set( 'cat', '2');
}
else{
//Manually determine page query offset (offset + current page (minus one) x posts per page)
$page_offset = $offset + ( ($query->query_vars['paged']-1) * $ppp );
//Apply adjust page offset
$query->set('offset', $page_offset );
}
}
add_action ('pre_get_posts', 'my_home_category');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.