
カスタム分類のターム名表示とスラッグを取得する方法まとめ
WordPressではデフォルトで用意されている投稿の他にもユーザー側で独自に設定できるカスタム投稿があります。このカスタム投稿における、カテゴリーなどの分類にあたるものがカスタム分類(タクソノミー)になります。カスタム分類内では分類項目がタームと呼ばれ、このタームも文字列などとして表示させたり、タームのスラッグ名を取得することができます。
カスタム分類のタームを表示させ、さらにスラッグを取得しclass名に指定するなどができる、ターム名まわりの記述方法をまとめていきたいと思います。
カスタム分類のターム名を表示させる
まずは、基本となるターム名を文字列として表示させる方法です 【PHP】<?php
if ($terms = get_the_terms($post->ID, 'タクソノミー名')) {
foreach ( $terms as $term ) {
echo ('<span>') ;
echo esc_html($term->name) ;
echo ('</span>') ;
}
}
?>
【HTML】
<span>ターム名</span>
カスタム分類のリンク付きターム名を表示させる
次に、ブログなどのアーカイブ時に役立つリンク付きのターム名を表示させる方法です 【PHP】// 単一の場合 <?php echo get_the_term_list($post->ID, 'タクソノミー名'); ?> // 複数表示がありコンマで区切り並べる場合 <?php echo get_the_term_list($post->ID, 'タクソノミー名', '見出し文字:', ','); ?>【HTML】
// 単一の場合 <a href="タームのリンク先">ターム名</a> // 複数表示がありコンマで区切り並べる場合 見出し文字:<a href="ターム1のリンク先">ターム名1</a>,<a href="ターム2のリンク先">ターム名2</a>…
カスタム分類のタームを表示させ、さらにスラッグを取得しclass名に指定する
最後に、ターム名を表示させて取得したスラッグをclass名に指定する方法です。ターム名ごとにclassが割り振られるのでCSSでスタイルを変更できるようになります。ターム名ごとのラベルの作成などに使えます。 【PHP】<?php
if ($terms = get_the_terms($post->ID, 'タクソノミー名')) {
foreach ( $terms as $term ) {
$term_slug = $term -> slug;
echo ('<span class="') ;
echo esc_html($term_slug) ;
echo ('">') ;
echo esc_html($term->name) ;
echo ('</span>') ;
}
}
?>
【HTML】
<span class="スラッグ名">ターム名</span>
カスタム分類アーカイブページなどでループ外に現在のタームを表示させる
シングルページではなくカスタム分類のアーカイブページなどで、現在のタームをループ外で表示させる方法です。ループ外であるbody内だけでなくheadタグ内などでも使えます。 【PHP】<?php
echo ('<h1>');
single_cat_title( '', true );
echo ('</h1>');
?>
【HTML】
<h1>ターム名</h1>
categories
- WordPress(61)
- JavaScript(49)
- Vue.js(48)
- CSS(46)
- jQuery(34)
- Nuxt.js(22)
- Sass(21)
- Gulp(17)
- webpack(16)
- PHP(14)
- HTML(14)
- GSAP(11)
- React(10)
- Vite(9)
- Pug(9)
- Laravel(8)
- Cordova(8)
- Linux(7)
- Next.js(6)
- Apache(5)
- Shopify(4)
- REST API(4)
- Node.js(4)
- Smarty(3)
- Git(3)
- JSON(3)
- その他プログラミング(3)
- Google Apps API(3)
- Bootstrap(3)
- 環境構築・システム(3)
- TypeScript(2)
- EJS(2)
- RMS(2)
- Docker(2)
- Instagram API(2)
- Excel VBA(2)
- SVG(1)
- Dart(1)
- ECカートASP(1)
- Markdown(1)
- AMP(1)
- Nginx(1)
- XML(1)
- shellscript(1)
- Ruby(1)
- MySQL(1)