使用全球$POST对性能的影响

时间:2017-10-28 作者:Iurie

我有两个函数可以执行相同的操作:它们为过期的帖子添加标题前缀。以下哪项功能对站点性能的影响更大?

function expired_facebook_events_title_prefix_( $title, $id = null ) {

    if( is_singular( \'facebook_events\' ) && \'expired\' == get_post_status() && in_the_loop() ) {
        return \'[expirat] \' . $title;
    }

    return $title;
}
add_filter(\'the_title\', \'expired_facebook_events_title_prefix_\', 10, 2);


function expired_facebook_events_title_prefix( $title ) {
    global $post;
    if( $post->post_type == \'facebook_events\' && $post->post_status == \'expired\' && in_the_loop() ){
        return \'[expirat] \' . $title;
   }
   return $title;
}
add_filter( \'the_title\', \'expired_facebook_events_title_prefix\' );

1 个回复
最合适的回答,由SO网友:Milan Petrovic 整理而成

没有显著差异。两者都将使用当前$post的缓存版本,一个是通过全局$post访问,另一个是通过从缓存中的$post获取数据的函数访问。我建议将in\\u the\\u loop()条件移动到IF中的第一个。

结束

相关推荐

Performance on WPMS

我的WPMS站点托管在8核/32mb RAM服务器上,但响应时间非常长。我们有大约1000个博客(单个db上有35000多个表)和70000个页面浏览量。我认为我可以缩短响应时间,将具有更多页面浏览量的博客移动到单独的DB中,并使用hyper DB插件将所有博客拆分为每个DB 100个博客。你觉得怎么样?