ワードプレスでカスタム投稿のカテゴリー(タクソノミー、ターム)名とリンクを出力するPHPのコードをご紹介、解説いたします。


ワードプレスでカスタム投稿のカテゴリー(タクソノミー)名とリンクをすべて出力する方法

ワードプレスはカスタム投稿タイプとして、投稿の概念そのものを増やすことができます。
このカスタム投稿タイプを増やすプラグインとして、最もよく利用されているのが Custom Post Type UI ですね。

また、このカスタム投稿タイプにカスタムタクソノミーというカテゴリーの概念とタームというカテゴリーの実態を作成付与することも可能です。
このカスタムタクソノミーとタームのリストを任意の投稿IDを指定するとすべてリストでリンク付きで出力するコードをご紹介いたします。

カスタム投稿のカテゴリー(タクソノミー、ターム)名をすべて出力するPHPコード

このコードはsingle.phpなどの一つの投稿を表示するプログラムで動作します。

$post_id = get_the_ID();//現在のカスタム投稿のIDをを取得します
$post = get_post($post_id);
$post_type = $post->post_type;
$taxonomies = get_object_taxonomies($post_type);//1
$output = "<ul>";
foreach ($taxonomies as $taxonomy) {
    $output .= "<li>".$taxonomy.": "; //2
    $terms = get_the_terms( $post_id, $taxonomy ); //3
    if ( !empty( $terms ) ) {
    foreach ( $terms as $term )
        $output .= '<a href="' .get_term_link($term->slug, $taxonomy) .'">'.$term->name.'</a> '; //4
    }
    $output .= "</li>";
}
$output .= "</ul>";
echo $output;//5

このコードの解説

1 このカスタム投稿に定義されたなカスタムタクソノミーの名称をリストで取得します

2 その名称をforeachで文字列に追加します

3 次に投稿にアサインされているそのタクソノミーのすべてのタームのリストを取得します

4 そちらをリンク付きで文字列に追加します

5 最後にその文字列を出力します

WordPress ワードプレスのプラグインやテーマのカスタマイズのご依頼・ご相談はWPドクターまでお気軽にお送りください