情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
テンプレートタグの覚書
カテゴリー名を取得してリンク付きで表示
<?php foreach((get_the_category()) as $cat) { $cat_id = $cat->cat_ID ; break ; } $category_link = get_category_link( $cat_id ); ?> <a href="<?php echo $category_link; ?>" title="<?php echo $cat->cat_name; ?>"> <?php echo $cat->cat_name; ?></a>
メタタグにカテゴリー名を入れる
<meta name="keywords" content="~,<?php if (is_category()): ?><?php single_cat_title(''); ?><?php elseif (is_single()): ?><?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name;} ?><?php endif; ?>" />
カテゴリーのパーマリンクを取得 ~はカテゴリー名
<?php $category_id = get_cat_ID( '~' ); $category_link = get_category_link( $category_id ); ?><a href="<?php echo $category_link; ?>" title="xxxxx">xxxxx</a>
属しているカテゴリーから親カテゴリーまでをリンク付き、セパレーター付きで
<?php $cat = get_the_category(); echo get_category_parents($cat[0], true, ' > '); ?>
属しているカテゴリーの親カテゴリーのみを表示
<?php $cat = get_the_category(); $cat = $cat[0]; $catp = $cat->category_parent ; $catn = get_the_category_by_ID( $catp ); echo $catn ; ?> or <?php $cat = get_the_category(); $cat = $cat[0]; $catp = $cat->category_parent ; $catn = get_the_category_by_ID( $catp ); $catl = get_category_link( $catp ); ?><a href="<?php echo $catl; ?>" title="<?php echo $catn; ?>"><?php echo $catn; ?></a>
最下層のカテゴリーを取得
<?php $cats = get_the_category(); $current_cat = ''; foreach ( $cats as $cat ) { if ( ! $current_cat || cat_is_ancestor_of( $current_cat, $cat ) ) { $current_cat = $cat; } } ?><a href="<?php echo get_category_link( $current_cat ); ?>"><?php echo $current_cat->cat_name; ?></a> タームの場合、$cats = get_the_terms( $post->ID, 'taxonomy-name' ); で $current_cat->term_id、$current_cat->name
最下層のカテゴリーから親カテゴリーを取得し、そのIDで分岐 ↓親カテゴリーのIDが7の場合7と表示、こう書けば何階層あっても分岐できるはず。
<?php $cats = get_the_category(); $current_cat = ''; foreach ( $cats as $cat ) { if ( ! $current_cat || cat_is_ancestor_of( $current_cat, $cat ) ) { $current_cat = $cat; } } if ( in_array(7, get_ancestors($current_cat->cat_ID, 'category') )) { echo '7'; } ?>
個別ページを表示せず、投稿リストからターム一覧の投稿タイトルにアンカーリンクを付けるため、タームを1つだけ取得
<a href="<?php $terms = get_the_terms($post->ID, 'taxonomy-name' ); if ( $terms && !is_wp_error( $terms ) ) { $term = array_pop($terms); echo get_term_link($term->slug, 'taxonomy-name'); } ?>#<?php echo $post->ID; ?>"><?php the_title() ?></a>