カテゴリからタグを取得するためにこのコードを使用します。
カテゴリページに特定のタグを表示したい。私は8つのカテゴリーがあり、これが私のコードです:
<?php if (is_category('10')) { ?>
<?php $args = array(
'categories' => '10'
);
$tags = get_category_tags($args);
$content .= "<ul>";
foreach ($tags as $tag) {
$content .= "<li><a href=\"$tag->tag_link\">$tag->tag_name</a></li>";
}
$content .= "</ul>";
echo $content; ?>
<?php } elseif (is_category('4')) { ?>
<?php $args = array(
'categories' => '4'
);
$tags = get_category_tags($args);
$content .= "<ul>";
foreach ($tags as $tag) {
$content .= "<li><a href=\"$tag->tag_link\">$tag->tag_name</a></li>";
}
$content .= "</ul>";
echo $content; ?>
.....
それが私が最善の方法ではないと思うそれぞれのカテゴリーのために、それはどんな考えですか?
get_terms()
を使用すると、指定した分類法のall用語を検索できます(これには、タグとタグの両方が含まれます)。
カテゴリアーカイブページでカテゴリを取得するには、次のようにします。
get_category( get_query_var( 'cat' ) )
現在表示されているcatアーカイブページのobject
が表示されます。
そのため、実際の用語リストは次のようになります。
$terms = get_terms(
get_category( get_query_var( 'cat' ) )
,array(
'fields' => 'ids'
,'hierarchical' => true
,'hide_empty' => false
,'pad_counts' => true
)
);
$term_links = array();
foreach ( $terms as $term )
{
$link = get_term_link( $term, $taxonomy );
! is_wp_error( $link ) AND $term_links[] = sprintf(
'<a href="%s" rel="tag">%s</a>'
,esc_url( $link )
,$term->name
);
}
// Now do something clever with $term_links
// For example:
! is_empty( $terms ) AND printf(
'<ul>%s</ul>'
,implode( "", $term_links )
);