【wordpress】カテゴリー・タクソノミー一覧をselectで表示させて選択リンクさせたい

【wordpress】カテゴリー・タクソノミー一覧をselectで表示させて選択リンクさせたい

「カテゴリー・タクソノミー一覧をselectで表示させて選択リンクさせたい」ってことよくありますよね。

で、いつも調べては忘れ、調べては忘れ・・・忘れないためにメモっとこうと思います。

一覧をoptionで出力するコード

<?php
	$taxonomy = 'タクソノミー名';
	$terms = get_terms($taxonomy);
	foreach($terms as $term) {
		$terms = get_the_terms($post->ID,$taxonomy);
		$slug = $terms[0]->slug;
		if(is_tax() && $slug == $term->slug){
			echo '<option value="'.get_term_link($term->slug,$taxonomy).'" selected>'.$term->name.'</option>';
		}else{
			echo '<option value="'.get_term_link($term->slug,$taxonomy).'">'.$term->name.'</option>';
		}
	}
?>

これが一覧を出力するコードになります。
ちなみにこれは「option」を一覧で出力するだけです。

selectでリンクさせるコード

<select name="select" onChange="location.href=value;">
<option value="">カテゴリ</option>
<?php
	$taxonomy = 'column_cat';
	$terms = get_terms($taxonomy);
	foreach($terms as $term) {
		$terms = get_the_terms($post->ID,$taxonomy);
		$slug = $terms[0]->slug;
		if(is_tax() && $slug == $term->slug){
			echo '<option value="'.get_term_link($term->slug,$taxonomy).'" selected>'.$term->name.'</option>';
		}else{
			echo '<option value="'.get_term_link($term->slug,$taxonomy).'">'.$term->name.'</option>';
		}
	}
?>
</select>

selectでリンクさせたい場合はこちら。

選択肢がセレクトされたらリンクして、該当のカテゴリーまたはタクソノミーページに飛びます。

そして飛び先のタクソノミーをセレクト状態にして表示してくれるという感じです。

SHARE