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

用缓冲输出优化 WordPress 页面生成性能,第1张

概述WordPress 的性能一致被广大用户所诟病,让我们来一起稍微优化优化。除了 wp_head() 函数的对 WordPress 系统性能的影响外,主循环中层层嵌套的循环语句也消耗了大量的数据库查询时间。比如,最为常规的循环输出首页文章列表:<?php if (have_posts()) : while (have_posts()) : the_po…

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

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

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

<?PHP if (have_posts()) : while (have_posts()) : the_post(); ?>
<h2><a href=http://www.mangguo.org/"<?PHP the_permalink(); ?>"><?PHP the_Title(); ?></a></h2>
<ul><?PHP $Tags = get_the_Tags(); foreach($Tags as $tag) echo '
<li><a href=http://www.mangguo.org/"'.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; ?>

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

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

总结

以上是内存溢出为你收集整理的用缓冲输出优化 WordPress 页面生成性能全部内容,希望文章能够帮你解决用缓冲输出优化 WordPress 页面生成性能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/1003381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存