wp_defer_term_counting()
云策文档标注
概述
wp_defer_term_counting() 函数用于启用或禁用术语计数功能,主要目的是在批量操作(如导入多个文章)时提高性能。
关键要点
- 函数接受一个可选的布尔参数 $defer:true 启用延迟计数,false 禁用延迟计数,默认值为 null。
- 返回当前术语计数是否启用的布尔值。
- 当禁用延迟计数时,会自动调用 wp_update_term_count() 来刷新任何延迟的计数。
- 此函数常用于优化性能,例如在导入过程中临时禁用术语计数。
代码示例
function wp_defer_term_counting( $defer = null ) {
static $_defer = false;
if ( is_bool( $defer ) ) {
$_defer = $defer;
// Flush any deferred counts.
if ( ! $defer ) {
wp_update_term_count( null, null, true );
}
}
return $_defer;
}注意事项
- 函数内部使用静态变量 $_defer 来跟踪状态。
- 在禁用延迟计数时,确保调用 wp_update_term_count() 以更新术语计数。
- 此函数自 WordPress 2.5.0 版本引入。
原文内容
Enables or disables term counting.
Parameters
$deferbooloptional-
Enable if true, disable if false.
Default:
null
Source
function wp_defer_term_counting( $defer = null ) {
static $_defer = false;
if ( is_bool( $defer ) ) {
$_defer = $defer;
// Flush any deferred counts.
if ( ! $defer ) {
wp_update_term_count( null, null, true );
}
}
return $_defer;
}
Changelog
| Version | Description |
|---|---|
| 2.5.0 | Introduced. |
Skip to note 2 content
Codex
Designed to speed up the process of inserting multiple posts during an import by temporarily disabling term counts until all posts have been inserted.
Original trac article: https://core.trac.wordpress.org/ticket/5377