カスタム投稿タイプのターム名(カテゴリー名)を表示させる方法を紹介します。
目次
PHP記述例
基本構文のPHP記述例を下の載せておきます。基本的にコピペでターム名が表示されるはずです。
<?php
$terms = get_the_terms($post->ID, 'タクソノミーのスラッグ'); //タームオブジェクト配列の関数化
if (!empty($terms)) { // もし$termsが空でなければ(カテゴリーが未設定でなければ)
foreach ($terms as $term) :
echo esc_html($term->name); //ターム名(カテゴリ名)を表示
endforeach;
} else { //もしカテゴリが未設定なら
echo '未分類'; //未設定と表示
}
?>
コードの意味はコメントアウトを見ていただけば分かると思いますが、要点を下にまとめておきます。
コード解説
- 使用者が書き換える箇所は’タクソノミーのスラッグ‘:カスタム投稿タイプのカテゴリーのスラッグのことで、functions.phpで設定しているはずです。例えば、タクソノミーのスラッグがworks-catなら、’works-cat’と書き換えて下さい。
- 2行目 get_the_terms($post->ID, ‘タクソノミーのスラッグ’):ターム名を引き出すために get_the_termsを使って配列を関数化している。
- if文は、記事のターム名が未設定でなければ「ターム名」を表示、未設定であれば「未設定」と表示する条件分岐です。
カスタム投稿アーカイブのループに配置する場合
ループの任意の位置に先程の基本構文を配置するだけ、ターム名を表示できます。装飾を考えると下記のようにクラス属性付きのタグで囲うのが望ましいです。
<!-- 記事一覧-->
<ul class="hoge">
<?php
// ページ番号の取得
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'works', //カスタム投稿タイプのスラッグ
'posts_per_page' => -1, //1ページの表示数:全件表示
'order' => 'ASC', //昇順
'orderby' => 'date', //日付順
'paged' => $paged //現在のページ番号(ページネーション用なのでなくてもOK)
);
// 以下、ループ構造
$the_query = new WP_Query($args);
if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?>
<li class="hoge">
<a href="<?php the_permalink(); ?>" class="hoge">
<div class="hoge">
<!-- 投稿日表示 -->
<div class="hoge"><?php the_title() ?></div>
<!-- 投稿日表示 -->
<div class="hoge"><?php the_time('Y年n月j日') ?></div>
<!-- ターム名表示 -->
<div class="hoge">
<?php
$terms = get_the_terms($post->ID, 'works-cat');
if (!empty($terms)) {
foreach ($terms as $term) :
echo esc_html($term->name);
endforeach;
} else {
echo '未分類';
}
?>
</div>
<!-- 抜粋表示 -->
<div class="hoge"><?php the_excerpt() ?></div>
</div>
</a>
</li>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif;
?>
</ul>
関連記事
カスタムタクソノミーのfunctions.php設定
カスタム投稿アーカイブの作り方
【WordPress】カスタム投稿タイプのアーカイブの作り方【一覧ページ|archive-$posttype.php】
カスタム投稿タイプ一覧ページの作り方を紹介します。テンプレートファイル、アーカイブのURL、ループ構造のPHP記述例、ページネーションなど。 テンプレートファイル ...
タクソノミーアーカイブの作り方
【WordPress】タクソノミーアーカイブとページネーションの作成【一覧ページ|taxonomy.php|カスタム投...
カスタム投稿タイプのアーカイブページのうち、タクソノミー(カテゴリーやタグ)ごとのアーカイブページの作り方とページネーションの設定を紹介します。 テンプレート...