在WordPress循环中首先显示特定类别的帖子

在WordPress循环中首先显示特定类别的帖子,wordpress,Wordpress,我想先在主页中显示类别中的帖子,然后继续WordPress帖子的默认顺序 有可能吗 我尝试过使用2个循环,并用我想要的类别过滤第一个循环,但是我认为分页不会像预期的那样工作。试试这个(不过,未测试的代码) 我有一个更复杂的解决方案,将支持分页太!您需要将其放入functions.php: add_action( 'pre_get_posts', 'my_custom_home_post_ordering' ); function my_custom_home_post_ordering( $q

我想先在主页中显示类别中的帖子,然后继续WordPress帖子的默认顺序

有可能吗

我尝试过使用2个循环,并用我想要的类别过滤第一个循环,但是我认为分页不会像预期的那样工作。

试试这个(不过,未测试的代码)

我有一个更复杂的解决方案,将支持分页太!您需要将其放入
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' );
}