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>

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

TAGS

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