カスタム投稿タイプのエントリに関連するタグを単一のページに表示しようとしています。
私のカスタム投稿タイプは 'Blog'として登録されていて、これが私のfunctions.phpファイルのタグのコードです。
function blog_tag_init()
{
$labels = array(
'name' => 'Tags',
'singular_name' => 'Tag',
'search_items' => 'Search Tags',
'all_items' => 'All Tags',
'parent_item' => 'Parent Tag',
'parent_item_colon' => 'Parent Tag:',
'edit_item' => 'Edit Tag',
'update_item' => 'Update Tag',
'add_new_item' => 'Add Tag',
'new_item_name' => 'New Tag Name',
'menu_name' => 'Tags',
);
register_taxonomy( 'blog-tags', 'blog',
array(
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'hierarchical' => false,
'query_var' => true
)
);
}
add_action( 'init', 'blog_tag_init' );
私の単一のテンプレートファイルでは、タグを表示するために以下のコードを使用します。
<p><?php the_tags(' and tagged under ', ', '); ?> </p>
しかし、タグは単一のページには表示されず、すべて正しく設定されているように見えるため、その理由はわかりません。
カスタム投稿タイプでthe_tags
を使用することはできません。代わりに the_terms
を使用してください。
そのため、この関数を使ってタグを取得できます。
the_terms( get_the_ID(), 'blog-tags', ' and tagged under ', ', ');