ワードプレスですべてのカテゴリー名を取得する方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

こんにちは、WPホームページ研究所の運営サポートチーム(@WP_LABO)です。

ワードプレスでカテゴリー設定をまとめて表示したいシチュエーションがありますよね。下記では管理画面側で作成したカテゴリー名をすべて取得する方法をご紹介いたします。カンタンな条件分岐です。

ワードプレスですべてのカテゴリー名を取得する方法

ワードプレスには「get_categories()」という関数が用意されています。

<select>
<?php $categories =  get_categories('');  
	foreach  ($categories as $category) {
		echo '<option value=' . $category->name . '>' . $category->name . '</option>';
	}
?>
</select>

もし「ul」タグで取得するなら下記です。

<ul>
<?php
	$categories =  get_categories('');  
	foreach  ($categories as $category) {
		echo '<li>' . $category->name . '</li>';
	}
?>
</ul>

ただ、上記では「投稿のないカテゴリー」は除外されます。値を何も指定しなければ「投稿のないカテゴリー」は表示されません。もしすべてを取得したい場合は「hide_empty:0」を指定する必要があります。

<select>
<?php
	$opt = array(
		'hide_empty' => 0,
	);
	$categories =  get_categories($opt);  
	foreach  ($categories as $category) {
		echo '<option value=' . $category->name . '>' . $category->name . '</option>';
	}
?>
</select>

他にもさまざまなパラメーターが用意されています。下記がデフォルトの値ですね。

<?php 
$args = array(
	'type'          => 'post',
	'child_of'      => 0,
	'parent'        => '',
	'orderby'       => 'name',
	'order'         => 'ASC',
	'hide_empty'    => 1,
	'hierarchical'  => 1,
	'exclude'       => '',
	'include'       => '',
	'number'        => '',
	'taxonomy'      => 'category',
	'pad_counts'    => false 
); 
?>

もしカテゴリーの並び順を変更する場合は「orderby」を指定。管理画面は「name」順で並んでいるので同じ順番にしたい場合は指定をしなくてもOKです。下記の通りお好みに合わせて並び順を指定できます。

・count
・id
・name(初期値)
・slug
・term_group

状況に合わせて色々な状態でカテゴリーの一覧を取得可能。

// すべてのパラメーターを初期状態で指定した場合
<select>
<?php
	$opt = array(
		'type'          => 'post',
		'child_of'      => 0,
		'parent'        => '',
		'orderby'       => 'name',
		'order'         => 'ASC',
		'hide_empty'    => 1,
		'hierarchical'  => 1,
		'exclude'       => '',
		'include'       => '',
		'number'        => '',
		'taxonomy'      => 'category',
		'pad_counts'    => false 
	);
	$categories =  get_categories($opt);  
	foreach  ($categories as $category) {
		echo '<option value=' . $category->name . '>' . $category->name . '</option>';
	}
?>
</select>

下記の通り「select」を「echo」で処理しても構いません。

<?php $categories =  get_categories('');  
	echo '<select>';
	foreach  ($categories as $category) {
		echo '<option value=' . $category->name . '>' . $category->name . '</option>';
	}
	echo '</select>';
?>

カテゴリー取得時はぜひお試しください。

最新式の無料プラグインを事前公開

WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
改良されたプラグインを確認する

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報だけでなくお好みの機能をいただければ専属スタッフが心を込めて真摯に対応させていただきます。お気軽にお問い合わせください。

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください