在WordPress循环中首先显示特定类别的帖子
我想先在主页中显示类别中的帖子,然后继续WordPress帖子的默认顺序 有可能吗 我尝试过使用2个循环,并用我想要的类别过滤第一个循环,但是我认为分页不会像预期的那样工作。试试这个(不过,未测试的代码) 我有一个更复杂的解决方案,将支持分页太!您需要将其放入在WordPress循环中首先显示特定类别的帖子,wordpress,Wordpress,我想先在主页中显示类别中的帖子,然后继续WordPress帖子的默认顺序 有可能吗 我尝试过使用2个循环,并用我想要的类别过滤第一个循环,但是我认为分页不会像预期的那样工作。试试这个(不过,未测试的代码) 我有一个更复杂的解决方案,将支持分页太!您需要将其放入functions.php: add_action( 'pre_get_posts', 'my_custom_home_post_ordering' ); function my_custom_home_post_ordering( $q
functions.php
:
add_action( 'pre_get_posts', 'my_custom_home_post_ordering' );
function my_custom_home_post_ordering( $query ) {
if ( ! is_home() ) {
return;
}
if ( ! $query->is_main_query() ) {
return;
}
$posts_in_category_1 = get_posts( array(
'posts_per_page' => -1,
'category' => 4 // Change accordingly. You may also use 'category_name', instead.
'fields' => 'ids'
) );
$query->set( 'post__in', $posts_in_category_1 );
$query->set( 'orderby', 'post__in' );
}
你想用过滤器或者自定义模板来实现这一点?自定义模板…顺便说一下,我在这里没有考虑分页,但至少你有一个起点!谢谢你的回复,但是没有用。您所做的与
$query->set('category\uu in',4)相同代码>,这将仅显示该类别的帖子。我想先给他们看,然后给其他人看。
add_action( 'pre_get_posts', 'my_custom_home_post_ordering' );
function my_custom_home_post_ordering( $query ) {
if ( ! is_home() ) {
return;
}
if ( ! $query->is_main_query() ) {
return;
}
$posts_in_category_1 = get_posts( array(
'posts_per_page' => -1,
'category' => 4 // Change accordingly. You may also use 'category_name', instead.
'fields' => 'ids'
) );
$query->set( 'post__in', $posts_in_category_1 );
$query->set( 'orderby', 'post__in' );
}