2015.10.12

【WordPress】カテゴリー出力のあれこれ

Category: WordPress

Tags, , ,

よく使うカテゴリーの出力方法をまとめました。

取得方法

<?php
$cat = get_the_category(); //カテゴリー情報取得
$cat_id = $cat[0]->cat_ID; //カテゴリーID取得
$cat_name = $cat[0]->name; //カテゴリー名取得
$cat_slug = $cat[0]->category_nicename; //カテゴリースラッグ取得
$link = get_category_link($cat_id); //カテゴリーリンク取得
?>

表示ページのカテゴリーを出す

<p>カテゴリー: <a href="<?php echo $link ?>"><?php echo $cat_name ?></a></p>

特定のカテゴリーの記事一覧を出す

<?php
$args = array(
'category_name' => $cat_slug, //カテゴリーのスラッグ名
'post_type' => 'post',
'posts_per_page' => -1,
'order' => 'DESC',
'orderby' => 'date'
);
$wp_query = new WP_Query($args);
if( have_posts() ) : while( have_posts() ) : the_post();
?>
<div class="post">
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p>日付け:<?php the_time( 'Y.m.d' ) ?></p>
<p>カテゴリー: <a href="<?php echo $link ?>"><?php echo $cat_name ?></a></p>
<p><?php the_tags('タグ: ',' , '); ?></p>
</div>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>

特定のカテゴリーの記事一覧を出す場合は、スラッグ名を渡してあげると絞り込みが可能です。
上記コードでは、タイトル、記事リンク、日付け、カテゴリー、タグが出力されます。

全てのカテゴリーを取得し出力する

<ul>
<?php
$cat_all = get_terms( "category", "fields=all&get=all" );
foreach($cat_all as $value):
?>
<li><a href="<?php echo get_category_link($value->term_id); ?>"><?php echo $value->name;?></a></li>
<?php endforeach; ?>
</ul>

リストで出力するだけの場合は下記のコードで出力できます。

<?php wp_list_categories() ?>

参考リンク

Category : WordPress