wp_term_is_shared()
云策文档标注
概述
wp_term_is_shared() 函数用于判断一个术语是否在多个分类法之间共享。该函数主要处理 WordPress 4.3 版本后共享术语拆分过程中可能遗留的问题。
关键要点
- 函数检查术语是否在多个分类法间共享,返回布尔值。
- 如果已完成共享术语拆分(通过 finished_splitting_shared_terms 选项),则直接返回 false。
- 通过查询 term_taxonomy 表中对应 term_id 的记录数来判断共享状态。
代码示例
function wp_term_is_shared( $term_id ) {
global $wpdb;
if ( get_option( 'finished_splitting_shared_terms' ) ) {
return false;
}
$tt_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_taxonomy WHERE term_id = %d", $term_id ) );
return $tt_count > 1;
}注意事项
- 共享术语拆分从 WordPress 4.3 开始,但升级过程中的 cron 任务失败或延迟可能导致共享术语残留。
- 函数返回 false 表示术语未共享或拆分已完成。
- 参数 $term_id 为必需整数类型。
原文内容
Determines whether a term is shared between multiple taxonomies.
Description
Shared taxonomy terms began to be split in 4.3, but failed cron tasks or other delays in upgrade routines may cause shared terms to remain.
Parameters
$term_idintrequired-
Term ID.
Source
function wp_term_is_shared( $term_id ) {
global $wpdb;
if ( get_option( 'finished_splitting_shared_terms' ) ) {
return false;
}
$tt_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_taxonomy WHERE term_id = %d", $term_id ) );
return $tt_count > 1;
}
Changelog
| Version | Description |
|---|---|
| 4.4.0 | Introduced. |