get_term_by など、タグ覚書

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

これの書き方をいつも忘れるのでメモとして。

タームの絞り込みをアーカイブ上でセレクトを使って行う場合に、表示しているタームを取得。*archive?area=xxxx のようなURLの場合

$area = $_GET[‘area’]; if (!empty($area)) { $term = get_term_by(‘slug’, $area, ‘area’); echo $term->name;

<?php $terms = get_terms('area'); if( $terms && !is_wp_error($terms) ){ ?>
	<select name="area" id="" onChange="location.href=value;">
		<option value="" selected>選択</option>
		<?php foreach ( $terms as $term ) { ?><option value="<?php echo esc_url( home_url( '/' ) ); ?>archive?area=<?php echo $term->slug; ?>"><?php echo $term->name; ?></option><?php } ?>
	</select><?php } ?>

get_term_by はid、slug、name から取得できる。

時々書き方があやふやになる条件分岐

特定のターム一覧:is_tax(‘taxonomy’, ‘term’)
そのタクソノミー一覧全般:is_tax(‘taxonomy’, ”)
特定のタームを持っている:has_term(‘term’, ‘taxonomy’)
has_term 複数:has_term(array(‘term1’, ‘term2’, ‘term3’), ‘taxonomy’ )
特定のポストタイプ:get_post_type() === ‘posttype’
ログイン中のユーザーの権限:current_user_can(‘権限’)