首页 > 解决方案 > 仅按“最新”顺序中的位置选择特定的博客文章

问题描述

我想在我的主页上有 3 行 3 个帖子。这些条目将是前 9 个最近的条目,并且需要做出响应.. 即:缩略图调整得更小,直到它们必须每行只有一个。我只会显示(大约)一个 360×180 的缩略图和图像下方的标题(两者都链接到实际的帖子位置)。

我能想到的唯一方法是编写响应式容器行和列(我的主题是基于引导程序的)。这很容易做到,如果我可以动态地将最近的帖子调用到第一个单元格中,然后将第二个最近的帖子调用到第二个单元格中,然后将第三个最近的帖子调用到第三个单元格中,等等。

有没有办法让 php 知道,比方说,这是第 6 个最近的帖子?你会怎么称呼它?

这是我目前在主页上的编码。目前,我正在使用一个循环来解析帖子(注意:我只在测试时包含草稿帖子。)它看起来很棒,直到你得到一个超大的图像,或者开始将窗口调整得更小。然后该行中的图像开始相互碰撞(不调整大小),直到它们最终各自分成一行。

<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>

相反,我希望能够设置一个典型的引导网格,然后如上所述在每个单元格中放置一个帖子。从最近的到第 9 个。

这可能吗?

谢谢你的帮助。

干杯,SunnyOz

标签: phpwordpressblogsposts

解决方案


要检索 9 个最近的帖子,您只需更改您的orderorderby查询参数。

代替;

$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') );

或者,只是不要指定任何一个,因为它们默认解析DESCpost_date您可以在此处阅读 WP Query 参数。

PS:要选择第 6 个最近的帖子,您可以在 foreach 循环中跟踪一个计数器,并在计数器 = 6 时添加条件代码。


推荐阅读