为什么在生成JSON文件时运行get_the_excerpt()需要28秒,而在没有JSON文件的情况下只需要599毫秒?

时间:2012-11-21 作者:user1462

我使用以下代码生成JSON提要。我需要从帖子中提取摘录,但运行get\\u the\\u extract()需要28秒(是秒!)在本地服务器上运行,而将get\\u the\\u extract()更改为“hi”时为599毫秒。

有人知道为什么要花这么长时间吗?我能做些什么来加快加载速度?这是在我使用的计算机上的本地web服务器上,因此不是由于网络问题。

$json = array();

while ( have_posts() ) {
  the_post();
  $yo = array(\'title\' => get_the_title(), \'excerpt\' => get_the_excerpt());
}

$json[] = $yo;
$json = json_encode($json);

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

问题可能是连接到get_the_excerpt() 作用

要检查附加的回调,只需检查全局回调:

// Best hooked to `shutdown`
echo \'<pre>\'.var_export( $GLOBALS[\'wp_filters\'][\'get_the_excerpt\'], true ).\'</pre>\';
然后摆脱所有这些回调。

SO网友:Tyler Carter

如果要直接访问POST对象,可以全局访问$post 并直接访问正在使用的post对象。

while( have_posts() ){
    the_post();

    global $post;
    echo $post->post_excerpt;
}
如果您遇到由于系统中的过滤器或任何其他原因导致的问题,这应该可以解决它。

结束