我也有同样的问题。我的the_content
筛选器被多次调用,这会降低页面加载速度the_content
筛选器正在调用外部API。因此,在我的例子中,API被多次查询相同的数据。
我试过使用in_the_loop()
, is_singular()
和is_main_query()
但有时,根据主题的不同,它们无法将对我的过滤器的调用限制为一次。
所以我在过滤器中添加了一个常量,这似乎解决了这个问题。
下面是一个如何将呼叫限制到the_content
筛选到一次:
add_filter( \'the_content\', \'se225721_the_content\' );
function se225721_the_content( $content ) {
if ( ! in_the_loop() ) {
return $content;
}
if ( ! is_singular() ) {
return $content;
}
if ( ! is_main_query() ) {
return $content;
}
$content = ucwords( $content );
remove_filter( \'the_content\', \'se225721_the_content\' );
return $content;
}
希望有帮助!
埃里克