_POST_缩略图执行两个查询。如何优化

时间:2013-12-07 作者:Igorek

我有疑问:

<?php
      $args =  array( \'post_type\' => \'post\',
                     \'post_status\' => \'publish\',
                     \'orderby\' => \'post_date\',
                     \'order\' => \'DESC\',
                     \'showposts\' => 10
                     );
      $recent = new WP_Query($args);
      $TopnewsIndex1 = 0;
      while($recent->have_posts()) : $recent->the_post();
         array_push($index_posts, $recent->post->ID);
         $ptitle = esc_attr( get_post_field( \'post_title\', $post_id ));
         $pdesc  = esc_attr( get_post_field( \'sub_desc\', $post_id ));
?>

<h2> <a href=\'<?php the_permalink() ?>\' rel=\'bookmark\'> <?php echo $ptitle ?></a>  </h2>
<p><?php echo $pdesc; ?></p>

<?php      endwhile; ?>
然后get\\u num\\u querys()=1个查询(用于10篇文章)

如果我习惯于为每个帖子显示拇指图像,我会添加字符串:

<?php echo the_post_thumbnail( \'medium\' ); ?>
然后get\\u num\\u querys()=21个查询(1+10*2)

如果在一个页面中,我习惯用拇指显示50篇文章,那么num querys=101个查询!!!

你知道为什么吗?如何优化此代码?

1 个回复
SO网友:Mark Kaplun

使用缓存插件,这就是它们存在的原因——从DB中卸载工作。

如果您不想进行全页缓存,并且知道生成的HTML没有太大变化,那么可以使用transients 在重新计算之前,将结果存储大约一个小时。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post