カスタムタクソノミー(カスタム分類)情報を表示する方法
-関連記事-
ループ内でカスタムタクソノミーを表示する方法を詳しく調べたのでφ(..)メモメモ
1. テンプレートタグ the_taxonomy() を使う
日本語版Codexでは一切記載がないのですが、ひそかに the_taxonomy() というテンプレートタグが存在しているようです。
このタグはカテゴリー情報を表示する the_category() のタクソノミー版で、パラメータを何も指定しなくても利用できます。
<?php the_taxonomies(); ?> |
デフォルトでは
タクソノミー名:分類名1 と 分類名2.
のように表示されます。
「と」という区切り文字には胸いっぱいの違和感を感じるので、今後の改善に期待です^^;
パラメータを指定できますが使い勝手が悪く、まだまだ the_category() ほど安易に使えるタグではありません。
参考:英語版Codex http://codex.wordpress.org/Function_Reference/the_taxonomies
2. Get the Term List関数を使う
タクソノミー情報を表示する際、より一般的に使われているのは get_the_term_list関数です。
必要な情報を簡単に”表示”できるテンプレートタグと違い、この関数は取得した情報をechoで表示する必要があり、非プログラマの僕らには恐怖感がありますよね・・・
<?php echo get_the_term_list( $post->ID, 'taxonomy-name', '分類:', ', ', '' ); ?> |
ループ内で使用する時も手動で「投稿ID」を指定しなければいけません。怖い、怖い・・・
ループ内で使用する際は1つめのパラメータに「$post->ID」といれましょう。
2つめのパラメータはタクソノミー名を入力します。
3つめのパラメータは「リスト直前のテキスト」です。
4つめのパラメータは「区切り文字」です。
5つめのパラメータは「リスト直後のテキスト」です。
動作はまさに the_category() のタクソノミー版なので、このコードは覚えておきましょう。
3. Get the Terms関数を使う
先ほどの get_the_term_list() はリンク付きリストを出力する関数です。
対して get_the_terms() は、タクソノミー情報を取り出し、それを自由に出力することができます。
1 2 3 4 5 6 7 | <?php $terms = get_the_terms($post->ID, 'taxonomy-name'); foreach ($terms as $term) : ?> <?php echo $term->name; ?>, <?php endforeach; ?> |
上記コードでは、その投稿が属するタクソノミー名が全てリンク無しで表示されます。
2行目の「taxonomy-name」の箇所は、実際のタクソノミー名に変えてください。
タクソノミーはカテゴリーなどと異なる使い方をするケースが多いので、「タクソノミーアーカイブへのリンクは不要」という際にこのコードを使用しましょう。
-人気記事トップ10-
- [XAMPP] apacheが起動しない場合の対処法
- 切り抜き写真に影をつける方法をいろいろ試す[photoshop加工・補正]
- iPadでSMB接続するアプリあれこれ比較 [FreeNAS]
- WordPressインストール代行 / 運営サポート / カスタマイズ
- [商品撮影]木材のアンティーク(エイジング)加工
- jQuery スライドショーのまとめ
- CSSで作るシンプルな見出し(Hタグ)デザイン
- [photoshop]商品写真の切り抜き加工 クイックマスク編
- [WordPress] 最初に覚えるテンプレートテーマの構造
- [WordPress]最強のSNSボタンプラグインを更に便利にカスタマイズ