函数文档

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.

Return

array|false Array with meta data, or false when the meta table is not installed.

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.