WordPress

【WordPress/PHP】ページ(記事)に設定しているカテゴリーやタグなどのターム情報を取得する方法

本記事では、WordPressでページ(記事)に設定しているカテゴリーやタグなどのターム情報を取得する方法について解説しています。

WordPressの学習におすすめ参考書
1冊ですべて身につくWordPress入門講座

本書情報
著者Mana
発売日2022/3/22
ページ数344ページ
Kindle版
レビュー
(Amazon)
(217件)

【中・上級者向け】オリジナルテーマの作り方が学べるおすすめ参考書
WordPressオリジナルテーマ制作入門

本書情報
著者清水 由規 / 清水 久美子 / 鈴木 力哉 / 西岡 由美
発売日2022/1/13
ページ数416ページ
Kindle版
レビュー
(Amazon)
(53件)
先輩くん
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

get_the_terms関数の使い方

ページに設定しているカテゴリーやタグなどのターム情報を取得するには、get_the_terms関数を使います。基本的な使い方は以下のとおりです。

<?php get_the_terms( $id, $taxonomy ); ?>
引数の詳細
  • $id(必須):投稿IDを指定します。
  • $taxonomy(必須):取得するタームが属するタクソノミーを指定します。
戻り値

指定したタクソノミーに属するタームが存在した場合は、ターム情報をオブジェクトの配列を返します。タームが存在しない場合はfalseを返します。無効なタクソノミーが指定された場合は、WP_Errorオブジェクトを返します。

指定したタクソノミーに属するタームが存在した場合に返されるオブジェクトの配列の詳細は以下のとおりです。

stdClass Object
(
    [term_id] =>
    [name] =>
    [slug] =>
    [term_group] => 
    [term_order] => 
    [term_taxonomy_id] =>
    [taxonomy] =>
    [description] => 
    [parent] =>
    [count] =>
    [object_id] =>
)

get_the_terms関数のサンプルコード

実際に、get_the_terms関数を使用してカテゴリーのターム情報を取得するサンプルコードを用意したのでご参考にしてください。

<?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
          <?php $terms = get_the_terms(get_the_ID(), 'category') ?>
          <?php if ($terms && !is_wp_error($terms)) : ?>
              <?php foreach ($terms as $term) : ?>
                  <span class="category"><?php echo $term->name; ?></span>
              <?php endforeach; ?>
          <?php endif; ?>
    <?php endwhile; ?>
<?php endif; ?>

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村