_Content筛选器对性能有什么影响?

时间:2015-05-19 作者:stemie

这是一个一般性的问题,但假设我有一个函数,并且在特定的页面上我想显示一个表。

该功能仅适用于我网站上的一个页面,但每个帖子/页面都将运行该功能(当它“意识到”它不是正确的页面时,跳过它)。

Would it be better, 从性能角度来看,to use a page template 对于此特定页面instead of this filter? 或者这是微不足道的,不值得担心的。

希望你能理解我所问的要点,我意识到还有其他因素,比如我的表(或我包含的任何内容)是如何处理的,但为了这个问题,我们还是忽略这些吧。

add_filter(\'the_content\', \'str_load_table\');
function str_load_table($content) {
    if(is_page(\'my-table\')) {
        $my_content = \'pretend this is a table\';
        $content = $content . $my_content
    }
    return $content;
}

2 个回复
最合适的回答,由SO网友:butlerblog 整理而成

差别可以忽略不计。

这个the_content 无论您是否使用过滤器,都会触发过滤器,因为WordPress将其用于其他用途。因此,唯一与性能相关的是过滤器函数的复杂性。

但是,由于您可能在模板或过滤器函数中执行相同级别的复杂度,因此两者之间没有真正的区别。

我想说,如果希望表成为主要内容区域的一部分,最好使用过滤器。那么您就不必担心如何/应用什么样式了。

SO网友:shanebp

页面模板可能更有效。

如果决定使用筛选器,则应返回以下值:

function str_load_table($content) {
    if(is_page(\'my-table\')) {
        $my_content = \'pretend this is a table\';
        $content .= $my_content
    }
    return $content;
}

结束

相关推荐

Debug Performance Issues

我有一个WordPress博客,我在Dream Host上主持了几年了。最近(去年)我的网站经常宕机。通过Dream Host,我发现我正在使用我的CPU限制,他们正在杀死我的进程。这种情况过去一天发生两次,但我能把它减少到一周一次。我将我的缓存插件从W3 Total缓存交换到另一个缓存,并删除了一些插件。我有时还是会遇到问题。老实说,我是ASP。NET开发人员,所以我习惯于调试IDE和CMS应用程序中的工具。我如何才能弄清CPU问题的根源?有WordPress工具吗?此外,我的网站是为URL模式配置的h