Предельные выдержки из типов постов - PullRequest
0 голосов
/ 09 мая 2019

У меня есть два типа сообщений: обычные и пользовательские.Все работает нормально, и я показываю только 5 сообщений.Один как полный пост и четыре как выдержки.У меня проблема в том, что выдержки показывают последние сообщения, независимо от категории сообщений.Я хочу показать два сообщения и два типа сообщений.

$args  = array(
    'post_type' => array( 'post', 'tutorial' ),

);
$query = new WP_Query( $args );

if ( $query->have_posts() ) :
    $count = 0;
    while ( $query->have_posts() ) : $query->the_post();
        if ( $count == 0 ) { ?>

            <h2><?php the_title(); ?></h2>
            <?php the_content();

            $count ++;

        } else { ?>
            <h2><?php the_title(); ?></h2>
            <?php the_excerpt();
        }
    endwhile;

endif;
wp_reset_postdata();
?>

Ожидаемый вывод должен быть последним сообщением как полным сообщением, так как оно работает сейчас.Затем он должен отобразить две последние публикации типа «пост-пост» и две последние записи типа «пост-тип».

1 Ответ

1 голос
/ 09 мая 2019

В основном вам нужно только сортировать по почтовому типу

$args  = array(
    'post_type' => array( 'post', 'tutorial' ),
    'orderby' => 'post_type',
    'order'   => 'ASC',
);

Если вы хотите сохранить сортировку даты как вторичную сортировку, это должно работать (не проверено).

$args  = array(
    'post_type' => array( 'post', 'tutorial' ),
    'orderby' => array ('post_type' => 'ASC', 'order' => 'DESC' ),
);

Для получения дополнительной информации см. Документацию WP_Query

Имейте в виду, что если у вас есть 5 постов новее, чем любой из ваших руководств, ни один из них не будет показан.Чтобы гарантировать 3 поста и 2 урока, вам нужно разделить код на 2 wp_query цикла с параметром posts_per_page.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...