概要
wp_get_object_terms
関数は、特定の投稿記事などのタクソノミー情報を取得するために使用されます。この関数は、指定されたオブジェクトに関連付けられたタクソノミー用語を取得し、カスタムタクソノミーやカテゴリ、タグなどの管理に役立ちます。この関数がよく使われる場面としては、以下のような機能が含まれます。
- 投稿のタグやカテゴリーを表示する。
- カスタム 投稿タイプのタクソノミー情報を取得する。
- タクソノミーアーカイブページの作成。
- 条件付きで異なるタクソノミー用語を表示する。
- タクソノミー用語に基づいたクエリの作成。
- メタボックスにタクソノミー情報を表示する。
- カスタムフィールドとタクソノミー情報を結びつける。
- ユーザーインターフェース上でのナビゲーションの改善。
構文
wp_get_object_terms( $object_ids, $taxonomy, $args );
パラメータ
$object_ids
(整数または配列): タクソノミー用語を取得するオブジェクトのID。$taxonomy
(文字列または配列): タクソノミーのスラグまたはスラグの配列。$args
(配列): (オプション) 追加の引数。
戻り値
- 成功した場合は、用語のオブジェクトの配列を返します。失敗した場合は、WP_Errorオブジェクトを返します。
関連する関数
使用可能なバージョン
この関数はWordPress 3.0以降で使用可能です。
含まれるコアファイルのパス
wp-includes/taxonomy.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |
サンプルコード
-
タクソノミー用語の取得
$terms = wp_get_object_terms( $post_id, 'category' ); if ( ! is_wp_error( $terms ) ) { foreach ( $terms as $term ) { echo $term->name; } }
このコードは、指定された投稿のカテゴリーを取得し、その名前を表示します。
-
複数のタクソノミー用語の取得
$terms = wp_get_object_terms( $post_id, ['category', 'tag'] ); if ( ! is_wp_error( $terms ) ) { foreach ( $terms as $term ) { echo $term->name; } }
このコードは、カテゴリーとタグの両方のタクソノミー用語を取得し、それぞれの名称を表示します。
-
カスタムタクソノミーの取得
$terms = wp_get_object_terms( $post_id, 'my_custom_taxonomy' ); if ( ! is_wp_error( $terms ) ) { echo 'Custom terms: '; foreach ( $terms as $term ) { echo $term->name; } }
指定された投稿からカスタムタクソノミー用語を取得し、その名前を表示します。
-
エラーチェック
$terms = wp_get_object_terms( $post_id, 'category' ); if ( is_wp_error( $terms ) ) { echo 'Error: ' . $terms->get_error_message(); } else { // Use terms }
このコードはエラーが発生した場合に、そのエラーメッセージを表示します。
-
条件付きでタクソノミー用語を表示
“`php
$terms = wp_get_object_terms( $post_id, ‘category’ );
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
echo ‘
- ‘;
- ‘ . esc_html( $term->name ) . ‘
foreach ( $terms as $term ) {
echo ‘
‘;
}
echo ‘
‘;
}
“`
取得したカテゴリー用語が存在する場合、その名称をリスト形式で表示します。
引用元のページは示しておりませんが、上記のコードと解説は一般的な用途に基づいており、WordPressの公式ドキュメントやコミュニティフォーラムで得られる情報をもとにしています。