cutmail's blog

write the code

Wordpressで各記事のカテゴリIDを取得する方法。

記事を取得する関数はありますが、標準だとカテゴリIDは取得されてこないので、
以下のようにすると、カテゴリIDを取得でき、カテゴリに合わせた出力ができます。

カテゴリに合わせた見出しを設定したいときなどに便利です。

<?php if(have_posts()):while(have_posts()):
	the_post(); ?>

		<?php foreach((get_the_category()) as $cat){ //カテゴリを取得
			$cat_id = $cat->category_parent;
			if($cat_id == 0){
				$cat_id = $cat->cat_ID;
			}
		} ?>

	<?php endwhile; endif; ?>

	<div id="navi">
		<ul>
			<li class="home"><a href="#">ホーム</a></li>
			<li><a href="../../">タイトル</a></li>
		<?php if($cat_id == 2){
			echo "<li><a href='../../?cat=2'>カテゴリ2のタイトル</a></li>";
		}else if($cat_id == 3){
			echo "<li><a href='../../?cat=3'>カテゴリ3のタイトル</a></li>";
		}else if($cat_id == 4){
			echo "<li><a href='../../?cat=4'>カテゴリ4のタイトル</a></li>";
		}?>

	        <?php if(have_posts()):while(have_posts()):
            the_post(); ?>
			
                        <li class="now"><?php the_title(); ?></li>
                <?php endwhile; endif; ?>
		</ul>
	     <div class="clear"></div>
	</div>