概要
has_term_meta
関数は、特定のタームに対してメタ情報が存在するかどうかを確認するための関数です。この関数は、カスタムタクソノミーやカテゴリなどのタームに関連する追加情報を扱う際によく活用されます。具体的に、以下のような機能を実装する際に役立ちます。
- タームにカスタムメタデータを追加し、フィルタリングを行う。
- タームに関連する情報を動的に表示する。
- タームの属性を条件に応じて切り替える。
- プラグインの設定でターム別のオプションを作成する。
- タームに関連するカスタム投稿タイプの表示をカスタマイズする。
- タームごとの特性に基づいたスタイリングを適用する。
- タームの状態を変更するためのカスタム機能を実装する。
- タームのメタ情報に基づいてアクセス制御を行う。
構文
has_term_meta( $term_id, $meta_key, $term_taxonomy_id = 0 );
パラメータ
$term_id
(int) : タームのID。$meta_key
(string) : チェックするメタキー。$term_taxonomy_id
(int) : (オプション) タームのタクソノミーID。未指定の場合は0となる。
戻り値
- (bool) : 指定したタームにメタ情報が存在する場合は
true
、それ以外はfalse
。
関連する関数
使用可能なバージョン
has_term_meta
関数はWordPress 4.4以降で使用可能です。
コアファイルのパス
wp-includes/taxonomy.php
サンプルコード
サンプルコード 1: メタ情報の存在確認
$term_id = 123; // 確認したいタームのID
$meta_key = 'custom_meta_key'; // チェックするメタキー
if ( has_term_meta( $term_id, $meta_key ) ) {
echo '指定したタームにはメタ情報があります。';
} else {
echo '指定したタームにはメタ情報がありません。';
}
説明: 指定したタームIDとメタキーに対するメタ情報が存在するか確認し、その結果を出力します。
サンプルコード 2: カスタムタクソノミーのチェック
$term_id = 456; // カスタムタクソノミーのタームID
$meta_key = 'visibility'; // 表示状況に関するメタキー
if ( has_term_meta( $term_id, $meta_key ) ) {
echo 'このタームは表示可能です。';
} else {
echo 'このタームは非表示です。';
}
説明: カスタムタクソノミーの特定タームに対し、属性をチェックして可視性に関する情報を出力します。
サンプルコード 3: メタ情報がない場合の処理
$term_id = 789; // 確認するタームのID
$meta_key = 'description'; // 説明文に関するメタキー
if ( ! has_term_meta( $term_id, $meta_key ) ) {
// メタ情報が存在しない場合の処理
echo 'このタームに説明文のメタ情報はありません。';
}
説明: 指定されたタームの説明文に関するメタ情報が存在しない場合、特定の処理を実行します。
サンプルコード 4: 条件に基づいたロジック
$term_id = 321; // タームID
$meta_key = 'featured'; // 特集フラグメタキー
if ( has_term_meta( $term_id, $meta_key ) ) {
// 特集タームのカスタムロジック
echo 'このタームは特集に設定されています。';
}
説明: 指定されたタームが特集として設定されているかどうかに基づくロジックを実装します。
サンプルコード 5: キーワードによるフィルタリング
$term_id = 654; // タームID
$meta_key = 'keywords'; // キーワードメタキー
if ( has_term_meta( $term_id, $meta_key ) ) {
// タームが特定のキーワードを持つ場合の処理
echo 'このタームには関連するキーワードがあります。';
}
説明: 指定したタームがキーワードメタ情報を持つか確認し、その結果を基に処理を実行します。
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
特定のバージョンでこの関数が非推奨または削除された情報はありません。