福岡 web・ホームページ制作 Eight(エイト)

WP(ワードプレス)におけるカテゴリー関連まとめを、福岡一わかりやすく解説します。(自分なりに)

WP(ワードプレス)におけるカテゴリー関連まとめを、福岡一わかりやすく解説します。
Category:WordPress

WordPressを導入する事例がここ最近増えてきて、自分なりのまとめを作って整理したかったのでこのエントリーを書きました。不備などがあると思いますので指摘していただけたら嬉しいです。

カテゴリーとは

カテゴリーとは投稿記事をグループ化できる機能であるということ
タグとの違いは階層関係も保持できるということ

一般的なcategory.php

archive.phpと基本は一緒です。そのカテゴリーに属する投稿を取得し、一覧で表示させます。表示件数は管理画面の「1ページに表示する最大投稿数」で設定している件数分表示されます。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
	<!--ループ-->
<?php endwhile; ?>
<?php else: ?>
	<!--記事がない場合-->
<?php endif; ?>

single.phpにおけるカテゴリーの扱い

get the category関数を使って、その投稿記事に関連付けられたカテゴリの詳細データを取得し表示できます。しかし、階層化されているカテゴリーの場合、子階層のカテゴリーに関連づけても、親階層のカテゴリーには関連付けはされないので、親階層のカテゴリー名などを表示したい場合は、必ず親階層のカテゴリーにも登録しましょう

$cat_ary = get_the_category();
foreach( $cat_ary as $cat )://ループして登録カテゴリーを全表示
	echo '<span class="category">' .$cat->name; '</span>';
endforeach;

archive.php/category.phpにおけるカテゴリーの扱い

archive.php/category.phpに直接アクセスしても404エラーとなります。アクセスする場合は必ず、年代やカテゴリーなどの付加情報が必要となります。

特定のカテゴリにアクセスする場合

//カテゴリIDで取得する場合
$cat_link = get_category_link( 1 );
echo "<a href='" .$cat_link ."'>title</a>";

//スラッグから取得する場合
$cat_id = get_category_by_slug('slug');
$cat_link = get_category_link( $cat_id->cat_ID );
echo "<a href='" .$cat_link ."'>title</a>";

get_category_link関数はカテゴリIDからしかリンクを取得できないので注意してください。

関数リファレンス/get category link – WordPress Codex 日本語版

カテゴリー名を表示する場合

<h1><?php single_cat_title(); ?></h1>

カテゴリ一覧を取得する場合

//archive.php/category.phpで子カテゴリーの一覧を取得する場合
$cat_id = get_query_var( 'cat' );
$cat_id = ( $cat_id == "" ) ? 0 : $cat_id;
$args = array(
			'type'                     => 'post',
			'parent'                   => $cat_id,
			'orderby'                  => 'count',
			'order'                    => 'DESC'
		);
$cat_ary = get_categories($args);
foreach($cat_ary as $cat): 
    echo '<li><a href="' . get_category_link( $cat->term_id ) . '" title="' .$cat->name . '">' . $cat->name.'</a></li>'; 
endforeach;

get_categories関数は問い合わせパラメータの内容はwp_list_categoriesとほぼ同じで、クエリ文字列形式でも配列形式でも渡すことができます。

関数リファレンス/get categories – WordPress Codex 日本語版

似た名前の「get categories」「get category」「get the category」の使い方と違い

get categories

WPに新規追加したカテゴリーの一覧を取得する。主にナビで使用します。

get category

指定したカテゴリの詳細なデータを取得できる。カテゴリに所属している記事の数や説明文などを取得できます。主にarchive.php/category.phpで使用します。

get the category

記事に設定しているカテゴリーを取得します。複数のカテゴリーを設定している場合は全て取得できます。
注意:親カテゴリがあるのに設定していない場合、親カテゴリは戻り値には含まれません。

Related Article

Comments

Page Top