KH-WEBLOG TOP > WEBメモ > WordPress > 子カテゴリを含むカテゴリーリストを自由なソースで表示:WordPress

子カテゴリを含むカテゴリーリストを自由なソースで表示:WordPress

WordPressで、子カテゴリを含むカテゴリーリストを自由なソースで表示させる方法をメモ。

サイドバーなどに、

<?php

//カテゴリーリスト&記事一覧
$args=array(
//いらないパラメータは省略可
  'type'	=> 'post',
  'child_of'	=> '',
  'parent'  	=> 0,
  'orderby' 	=> 'name',
  'order'   	=> 'ASC',
  'hide_empty' 	=> 1,
  'hierarchical'=> 1,
  'exclude'  	=> '0',
  'pad_counts' 	=> false
  );
$categories=get_categories($args);
	
	//取得したカテゴリへの各種処理
	foreach($categories as $val){
		//カテゴリのリンクURLを取得
		$cat_link = get_category_link($val->cat_ID);
		
		//子カテゴリのIDを配列で取得
		$child_cat_num = count(get_term_children($val->cat_ID,'category'));
		
		//子カテゴリが存在する場合
		if($child_cat_num > 0){
			//親カテゴリのリスト出力
			echo '<li class="parent"><a href="' . $cat_link . '">' . $val -> name . '</a></li>';
			echo '<ul class="subcat">';
			//子カテゴリの一覧取得条件
			$category_children_args = array('parent'=>$val->cat_ID);
			//子カテゴリの一覧取得
			$category_children = get_categories($category_children_args);
			//子カテゴリの数だけリスト出力
			foreach($category_children as $child_val){
				$cat_link = get_category_link($child_val -> cat_ID);
				echo '<li><a href="' . $cat_link . '">' . $child_val -> name . '</a>';
			}
			echo '</ul>';
		}

		//子カテゴリが存在しない場合
		else{
			echo '<li class="parent"><a href="' . $cat_link . '">' . $val -> name . '</a></li>';
		}
		
	}
?>

でOK

これで

<ul>
<li class="parent"><a href="#">親カテゴリー名</a></li>
<ul class="subcat">
<li><a href="#">子カテゴリー名</a></li>
</ul>
</ul>

といったソースで表示させることが出来ます。

コーディング・WordPress化作業を代行します

WordPressのおすすめ参考書

楽天Kobo電子書籍ストア
¥3,278 (2024/10/28 20:37時点 | 楽天市場調べ)

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML HTML5 JavaScript jQuery LightBox PHP RSS SEO WordPress アイキャッチ画像 アクセス解析 カスタムフィールド カテゴリー カラーミーショップ カート コメント ショートコード テンプレートタグ ドロップダウンメニュー パーマリンク フォーム フルスクリーン ブログカード プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク リンクカード レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 関連記事