has_term_meta()
云策文档标注
概述
has_term_meta() 函数用于获取指定 term ID 的所有元数据,包括 meta ID。它通过查询数据库的 termmeta 表实现,并检查 term meta 是否支持。
关键要点
- 参数:$term_id(int,必需),指定要获取元数据的 term ID。
- 返回值:返回包含 meta_key、meta_value、meta_id、term_id 的数组,如果 term meta 表未安装则返回 false。
- 内部机制:使用 wp_check_term_meta_support_prefilter() 检查支持性,然后通过 $wpdb->get_results() 执行 SQL 查询。
- 相关函数:wp_check_term_meta_support_prefilter()、wpdb::get_results()、wpdb::prepare()。
- 用途:被 wp_xmlrpc_server::get_term_custom_fields() 调用,用于获取 term 的自定义字段。
- 版本历史:自 WordPress 4.9.0 版本引入。
代码示例
function has_term_meta( $term_id ) {
$check = wp_check_term_meta_support_prefilter( null );
if ( null !== $check ) {
return $check;
}
global $wpdb;
return $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value, meta_id, term_id FROM $wpdb->termmeta WHERE term_id = %d ORDER BY meta_key,meta_id", $term_id ), ARRAY_A );
}
原文内容
Gets all meta data, including meta IDs, for the given term ID.
Parameters
$term_idintrequired-
Term ID.
Source
function has_term_meta( $term_id ) {
$check = wp_check_term_meta_support_prefilter( null );
if ( null !== $check ) {
return $check;
}
global $wpdb;
return $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value, meta_id, term_id FROM $wpdb->termmeta WHERE term_id = %d ORDER BY meta_key,meta_id", $term_id ), ARRAY_A );
}
Changelog
| Version | Description |
|---|---|
| 4.9.0 | Introduced. |