CrystalSnowman.com

あなたの時間節約につながる情報を提供します

WordPress カテゴリページに件数を表示する方法

categoryPage

WordPressのカテゴリページに件数を表示しました。ユーザにとってわかりやすく親切な画面になったと思います。「検索結果画面に件数表示する方法」と同様簡単にできるので紹介します。ユーザから愛されるサイトを目指しましょう。

検索結果画面に件数表示する方法は以下の記事を参考にしてみてください。
WordPress 検索結果画面を作る方法

方法

WordPressにはカテゴリ別に記事を一覧にする機能が用意されてます。
デフォルトでは記事を表示するだけで、カテゴリ名や件数を表示してくれません。
そこでh1見出しを追加し、カテゴリ名と記事件数を表示するようにしました。

index.phpの修正

記事一覧を表示するindex.phpにカテゴリ用のh1見出しを追加します。

7行目でカテゴリページ時の条件を指定しました。「is_category()」です。

9行目で「$categoryPages」変数を宣言し、「get_the_category()」を代入しています。これは記事のカテゴリ情報を配列にしたものです。
get_the_category()については以下のサイトが参考になります。

get_the_category() | 図解WordPress

10行目で「$categoryPage」変数を新たに宣言し、「$categoryPages」の最初の配列を代入しました。「[0]」は複数ある配列の中から最初の1件を取り出す時に指定します。つまり表示されているカテゴリページのカテゴリ情報です。そのためそれを代入する変数も単数形の単語にしました。

14行目でカテゴリー名と件数を表示しました。
$categoryPage->name;」でカテゴリ名、「$categoryPage->count;」で件数が表示されます。

style.cssの修正

h1見出しのデザインを整えます。

タイトルタグとdescriptionタグの修正

忘れずに修正したいのがカテゴリページ表示時のタイトルタグとdescriptionタグです。修正しておかないと、タイトルタグとdescriptionタグが重複していると「Google ウェブマスターツール」から怒られてしまいます。

タグの重複解消については以下の記事を参考にしてみてください。
WordPress ページごとにdescription属性を切り替える方法

カテゴリページでタイトルタグとdescriptionタグが自動で切り替わるようにheader.phpを修正します。

7行目でタイトルタグの切り替えを行っています。
is_category() && is_paged()」でカテゴリページの記事一覧で、かつ複数にわたるページで2ページ目以降のページである時の条件を指定しました。

8行目でタイトルを表示しています。
<?php wp_title(‘|’, true, ‘right’); ?><?php bloginfo(‘name’); ?>」で記事のタイトルを表示し、<?php echo get_query_var(‘paged’); ?>でページ数を表示し、それらを連結することでタイトルの重複が発生しないようにしています。

ページ送りが発生しない場合は「<?php wp_title(‘|’, true, ‘right’); ?><?php bloginfo(‘name’); ?>」のみをタイトル表示に使っています。

タイトル表示の詳細は以下の記事を参考にしてみてください。
WordPress ページング時のタイトルを切り替える方法


13行目でdescriptionタグを切り替えています。
is_category() && !is_paged()」でカテゴリページの記事一覧でページ送りが発生しない時の条件を指定しました。

14行目でカテゴリページ用の内容を指定しました。
<?php single_cat_title(); ?>」はカテゴリのキーワードを表示します。「get_the_category()」を使用しない場合に単独で使用できます。

15行目でカテゴリページかつページ送りが発生した時の条件を指定しました。

16行目で「<?php echo get_query_var(‘paged’); ?>」でページ数を表示しました。これを連結させることでdescriptionタグの重複を防いでいます。

完成

このようになります。
categoryPage

参考資料

今回参考にした本は以下です。

基礎からのWordPress 改訂版 (BASIC LESSON For Web Engineers)
基礎からのWordPress 改訂版 (BASIC LESSON For Web Engineers)

この本は初心者向けの内容から上級者向けの内容まで幅広く網羅されています。とにかくボリュームがあるので、サイトをいろいろカスタマイズしたい人にとっては最適です。
高度な内容もありますが、チャレンジングで楽しい本です。

まとめ

get_the_category()を使用してカテゴリ名と件数を表示しました。使いやすいサイトに近づいた思います。簡単にできるのであなたもチャレンジしてみてはいかがでしょうか。


Top