最近的帖子成了头条新闻。如何优化循环

时间:2014-04-20 作者:Moskwin

我在我的页面模板中使用它来显示类别8、17、23、423中最近的20篇文章的标题

  <div id="horizontalTab">
   <ul class="resp-tabs-list">
     <li>Football</li>
     <li>Ice Hockey</li>
     <li>Basketball</li>
     <li>Tennis</li>
    </ul>
    <div class="resp-tabs-container">
     <?php $cat_array=array(23,17,8,423);
      foreach ($cat_array as $catid) {
       $args = array( \'category\' =>$catid, \'numberposts\' => 20 );
       $myposts = get_posts($args); ?>
        <div>
         <?php foreach($myposts as $post) { ?>
         <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br/>
         <?php } ?>
       </div>
     <?php } ?>
 </div>
</div>
但这段代码添加了超过15个数据库查询。如果没有此代码,页面将生成26个db查询,使用它将生成46个db查询。是否可以优化?

1 个回复
SO网友:Steven Jones

您可以在一个查询中完成所有操作,而不是遍历每个类别并获取每个类别的帖子,如下所示:

$categories = array(\'8\', 17, 23, 423);
$args = array( \'category__in\' => $categories, \'numberposts\' => 20 );
$recent_posts = get_posts($args);
干杯。

结束

相关推荐

Query date in wordpress loop

我目前有一个名为“事件”的自定义帖子类型。我根据这里的教程创建了这个http://tatiyants.com/how-to-use-wordpress-custom-post-types-to-add-events-to-your-site/. 我想查询日期,只显示日期即将到来的帖子,而不是过去的帖子。$event_date >= time然而,在教程中,他使用一个短代码显示结果。我正在尝试将其转换为标准wp循环,以便在索引中显示它。php。他在其短代码函数中使用以下内容:add_shortcode