metadata_exists

函式
metadata_exists ( $meta_type, $object_id, $meta_key )
引數
  • (string) $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user', or any other object type with an associated meta table.
    Required:
  • (int) $object_id ID of the object metadata is for.
    Required:
  • (string) $meta_key Metadata key.
    Required:
返回值
  • (bool) Whether a meta field with the given key exists.
定義位置
相關方法
tag_existscomment_existsemail_existsrich_edit_existsdomain_exists
引入
3.3.0
棄用
-

metadata_exists – 這個WordPress函式用來檢查WordPress中的一個文章或其他型別的內容是否存在一個特定的後設資料鍵。它可以用來根據某些後設資料的存在來執行條件邏輯。

確定給定物件ID是否存在具有給定鍵的元欄位。

function metadata_exists( $meta_type, $object_id, $meta_key ) {
	if ( ! $meta_type || ! is_numeric( $object_id ) ) {
		return false;
	}

	$object_id = absint( $object_id );
	if ( ! $object_id ) {
		return false;
	}

	/** This filter is documented in wp-includes/meta.php */
	$check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, true, $meta_type );
	if ( null !== $check ) {
		return (bool) $check;
	}

	$meta_cache = wp_cache_get( $object_id, $meta_type . '_meta' );

	if ( ! $meta_cache ) {
		$meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
		$meta_cache = $meta_cache[ $object_id ];
	}

	if ( isset( $meta_cache[ $meta_key ] ) ) {
		return true;
	}

	return false;
}

常見問題

FAQs
檢視更多 >