ショウジンブログ on Hatena

“お芝居をしないと、この社会では異邦人として扱われるほかない”

全てのカテゴリを取得して一覧表示@WordPress

投稿用テンプレートのsingle.phpの下部にカテゴリ一覧を設置する例です。

<?php
$args = array(
'orderby' => 'order',
'order' => 'ASC',
'exclude' => '1' // 「未設定」カテゴリを除外

);
$cat_all = get_categories($args);
foreach($cat_all as $value): ?>
<a href="<?php echo get_category_link($value); /* カテゴリへのリンク */ ?>"><?php echo esc_html($value->name); /* カテゴリ名 */ ?></a>
<?php endforeach; ?>

$argsでexcludeを使って「未設定」カテゴリは除外する設定をしています。

WordPressのget_categories()関数を使って存在するカテゴリの情報を取得、配列$cat_allに格納します。

foreach文のループを使って配列$cat_allから$valueで各要素を取得。この$valueの中に値が入っているので

$value->nameのように指定して(この場合はカテゴリ名)出力します。

各カテゴリのトップ(一覧)へのリンクはget_category_link()を使って、オプションに$valueを指定して取得します。

出力する際にはesc_html()を使ってエスケープ処理をしておきます。WordPressのエスケープ用の関数については以下が参考になります。

http://wpdocs.sourceforge.jp/Data_Validation

WordPressではカテゴリは親子(孫)関係を持たせることが出来ますが、この出力では親子関係は関係なく、存在する全てのカテゴリが出力されます。