Выберите конкретное сообщение в блоге c по его позиции в «последнем» порядке - PullRequest
0 голосов
/ 19 января 2020

Я хочу, чтобы на моей домашней странице было 3 строки по 3 сообщения. Записи будут в числе 9 самых последних и должны быть отзывчивыми. ie: уменьшенные изображения уменьшаются до тех пор, пока не должны заканчиваться только одним на строку. Я буду отображать (приблизительно) миниатюру размером 360 × 180 и заголовок под изображением (оба связаны с фактическим местоположением публикации).

Единственный способ, которым я могу думать, это сделать с помощью кодирования чувствительных строк контейнера & столбцы (моя тема основана на bootstrap). Это было бы легко сделать, если бы я мог динамически вызывать самый последний пост в первую ячейку, а затем вызывать 2-й самый последний пост во 2-ю ячейку, а затем 3-й самый последний пост в 3-ю ячейку и т. Д. c.

Есть ли способ для php узнать, скажем, что это 6-й самый последний пост? Как бы вы назвали это?

Вот код, который я сейчас имею на главной странице. На данный момент я использую al oop для анализа постов (Примечание: я включаю только черновик поста во время тестирования). Он выглядит великолепно, пока вы не получите слишком большое изображение или не начнете изменять размер окна меньше. Затем изображения в строке начинают сталкиваться друг с другом (без изменения размера), пока они, наконец, не разбиваются на один ряд.

<div class="container blog-posts margin-bottom-60">
  <div class="row">

    <?php $args = array( 'numberposts' => 9, 'order'=> 'ASC', 'orderby' => 'title', 'post_status' => array( 'publish', 'draft') );
        $postslist = get_posts( $args );
        foreach ($postslist as $post) :  setup_postdata($post); ?> 
            <div class="col-md-4 col-sm-4 col-xs-12" style="float: left; display:block">
                <div class="img-responsive" style="margin: 10px; "><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a></div>
                <center><h3 class="entry-title" style="text-align: center;"><a class="entry-title-link" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3><center>
            </div>
    <?php endforeach; ?>


    <br clear="all" />
    <br />

    <a class="blog-button" href="/aphrodisiacs-blog/">View More
    >></a>


  </div>
</div>

Вместо этого я хотел бы иметь возможность настроить типичный bootstrap сетки, и просто поместите один пост в каждую ячейку, как указано выше ... начиная с самого последнего вплоть до девятого самого последнего.

Возможно ли это?

Спасибо за любую помощь.

Ура, SunnyOz

1 Ответ

1 голос
/ 19 января 2020

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

Вместо;

$args = array( 'numberposts' => 9, 'order'=> 'ASC', 'orderby' => 'title', 'post_status' => array( 'publish', 'draft') );

Использовать;

$args = array( 'numberposts' => 9, 'order'=> 'DESC', 'orderby' => 'post_date', 'post_status' => array( 'publish', 'draft') );

ИЛИ, просто не указывайте, так как они по умолчанию разрешают DESC и post_date. Вы можете прочитать об аргументах WP Query здесь .

PS: чтобы выбрать 6-е самое последнее сообщение, вы можете просто отслеживать счетчик внутри foreach l oop и добавлять условные код при счетчике = 6.

...