芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
2

用缓冲输出优化 WordPress 页面生成性能

作者 芒果/分类 教程/发布于 2011-07-05 00:07

WordPress 的性能一致被广大用户所诟病,让我们来一起稍微优化优化。

除了 wp_head() 函数的对 WordPress 系统性能的影响外,主循环中层层嵌套的循环语句也消耗了大量的数据库查询时间。

比如,最为常规的循环输出首页文章列表:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
	<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
	<ul><?php $tags = get_the_tags(); foreach($tags as $tag) echo '
		<li><a href="'.get_tag_link($tag -> term_id).'">'.$tag -> name.'</a></li>'; ?>
	</ul>
<?php endwhile; else : endif; ?>

在这个简单的循环体中,还嵌套输出了每篇文章的标签。这么多次查询读取想想都觉得有点可怕吧?有木有?

在 PHP 中有一个很妙的函数,叫做 flush(),该函数将当前为止程序的所有输出发送到用户的浏览器。详细参考这篇资料:http://cn.php.net/flush

那就添加一下这个好用的函数,你看:

<?php if (have_posts()) : while (have_posts()) : the_post(); ob_flush(); ?>
// insert code here
<?php flush(); endwhile; else : endif; ?>

这样一来,如果你的网速很慢,可以明显看到页面一部分一部分输出的过程,一定程度上算是缓解了页面生成过慢的问题。

当然,如果你不觉得蛋疼,还可以给标签列表输出啊,什么什么的都加上这函数。是的,就是这样。欢迎光临芒果小站

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/use-flush-optimize-wordpress-page-generation-performance/" title="用缓冲输出优化 WordPress 页面生成性能" rel="bookmark">用缓冲输出优化 WordPress 页面生成性能 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 2 条群众意见

  1. ?
    用缓冲输出优化 WordPress 页面生成性能 | 千里走单骑 /2011-07-05 00:18

    […] (22) © 2010 芒果 版权所有 | 固定链接 | 没有评论 | 标签 PHP, WordPress View full post on […] 回应

    #1
  2. ?
    按自定义字段获取 WordPress 文章列表 | 千里走单骑 /2011-07-05 23:24

    […] 用缓冲输出优化 WordPress 页面生成性能 (1) […] 回应

    #2

下面我简单说几句