WordPress「category.php」カテゴリー専用テンプレートを作る

category.phpはカテゴリーで表示されるテンプレートです。
専用タグを使用することでカテゴリー専用ページをつくることができます。

全コード

<?php get_header(); ?>

<h1><?php single_cat_title('カテゴリー: '); ?></h1>

<?php if ( have_posts() ) : ?>

<?php if ( category_description() ) : ?>
<div class="archive-meta"><?php echo category_description(); ?></div>
<?php endif; ?>

<?php while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<small><?php the_time('Y.n.j') ?></small>
<div class="entry">
<?php the_content(); ?>
</div>
<?php endwhile; ?>

<?php else: ?>
	<p>記事はありません</p>
<?php endif; wp_reset_postdata(); ?>

<?php get_footer(); ?>

カテゴリー名を出力

現在のページのカテゴリー名はsingle_cat_title()で出力できます。

<h1><?php single_cat_title('カテゴリー: '); ?></h1>

第一引数 出力されるカテゴリー名の直前に挿入するテキスト
第二引数 使用できる値としてカテゴリー名を返す。(true or false)

カテゴリーの記事一覧取得

カテゴリーページで表示されているカテゴリーの記事一覧はwhile (have_posts()) : the_post()で取得可能です。

<?php if ( have_posts() ) : ?>

<?php if ( category_description() ) : ?>
<div class="archive-meta"><?php echo category_description(); ?></div>
<?php endif; ?>

<?php while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<small><?php the_time('Y.n.j') ?></small>
<div class="entry">
<?php the_content(); ?>
</div>
<?php endwhile; ?>

<?php else: ?>
	<p>記事はありません</p>
<?php endif; wp_reset_postdata(); ?>

カテゴリー情報を取得

カテゴリーページで表示されているカテゴリーのカテゴリー情報はget_category($cat)で取得可能です。

$cat = get_category($cat);    //カテゴリー情報取得
$cat_name = $cat->name;    //カテゴリー名
$cat_slug = $cat->slug;    //スラッグ

Wordpress デザイナーの私的メモ帳

設計編

基本

投稿関連

固定ページ関連

カテゴリー関連

タクソノミー、ターム関連

テンプレート作成

Advance Custom Fieldの使い方

プラグイン

その他

MW WP Form

事例

  • このエントリーをはてなブックマークに追加

プロフィール

kura

個人開発歴5年以上。サイト開発・運営。 ペアでエンジニアとアプリ開発しています。

このサイトではWEBデザイン初心者向けになるべく分かりやすいように解説したり、WEBデザインの便利ツール紹介、開発したりしています。

note