カスタム分類タームの表示

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

ループ内で、記事が属しているタームとタームの説明をリンク付きで表示。*タームの日本語表記と英語表記を2行で表示したいという要望のため

<?php
$terms = wp_get_object_terms( $post->ID, 'event_area' );
if ( $terms && !is_wp_error( $terms ) ) {
   echo '<ul>';
   foreach ( $terms as $term ) {
      echo '<li><a href="' . get_term_link( $term, $term->taxonomy ) . '">' . $term->name . '<br />' . $term->description . '</a></li>';
   }
   echo '</ul>';
}
?>

タームの選択が複数で、階層順に表示したい場合。wp_get_object_terms の場合はarray(‘orderby’ => ‘term_order’)、http://codex.wordpress.org/Function_Reference/wp_get_object_terms 参照
get_the_term_list の場合は以下をfunctions に記入。参照元http://wordpress.stackexchange.com/questions/7440/change-order-of-custom-taxonomy-list

function set_the_terms_in_order ( $terms, $id, $taxonomy ) {
    $terms = wp_cache_get( $id, "{$taxonomy}_relationships_sorted" );
    if ( false === $terms ) {
        $terms = wp_get_object_terms( $id, $taxonomy, array( 'orderby' => 'term_order' ) );
        wp_cache_add($id, $terms, $taxonomy . '_relationships_sorted');
    }
    return $terms;
}
add_filter( 'get_the_terms', 'set_the_terms_in_order' , 10, 4 );

function do_the_terms_in_order () {
    global $wp_taxonomies;
    $wp_taxonomies['post_tag']->sort = true;
    $wp_taxonomies['post_tag']->args = array( 'orderby' => 'term_order' );    
}
add_action( 'init', 'do_the_terms_in_order');

カスタム投稿AとBそれぞれにカスタム分類「エリア」を作成し、Aの個別ページでBの同じエリアの記事を表示

<?php $terms = wp_get_object_terms($post->ID,'A_area'); foreach ( $terms as $term ) { $area = $term->slug; }
$query = new WP_Query(array(
	'post_type' => 'B',
	'B_area' => $area,
	'posts_per_page' => '1',
));
?>

タームの選択が複数の場合

$terms = get_the_terms( $post->ID, 'A_area' );						
if ( $terms && ! is_wp_error( $terms ) ) {
	$area = array();
	foreach ( $terms as $term ) {
		$area[] = '"' . $term->slug . '"';
	}
	$areas = join( ',', $area );
}
?>

シングルページでタームリストをリンクなし・セパレーター付きで

<?php
if ($terms = get_the_terms($post->ID, 'タクソノミー名')){
$termnames = array();
foreach( $terms as $term ){
	array_push( $termnames, $term->name );
}
echo join(', ',$termnames);
} ?>