【WordPress】投稿数の表示付きのカテゴリ一覧のリンクをPHPで作成してみた

PHP アイコン IT

WordPressで特定のカテゴリの投稿数を計算して表示し、カテゴリ一覧にジャンプするリンクを作成しました。

使用しているWordPressのテーマはCocoonです。

また、今回は以下のカテゴリページのコンテンツを作成しました。

スポンサーリンク

完成形のイメージ

以下のようなカテゴリ一覧を表示して、それぞれの「親カテゴリ」「子カテゴリ」の内容をクリックすると、各カテゴリの投稿一覧にジャンプできるようにします。

投稿数表示ありのリンク付きカテゴリ一覧

具体例として、「Windows OSの入手」の子カテゴリ「共通」の「3記事あり」をクリックしてみます。

ジャンプ先のカテゴリの投稿一覧

クリックした結果、3つの投稿が表示されます。

ここで問題となるのは、記事数をその都度計算する方法です。

ネットで検索して調査した結果、WordPressの投稿・固定ページにPHPを埋め込めるプラグインが良さそうなので、その方向でやり方を詰めていきました。

特定のカテゴリの投稿数を計算して表示するPHP

ネットで色々検索したところ、シンプルに特定のカテゴリの投稿数を表示するには、以下の方法がよさそうでした。

利用するコードは、以下の内容です。

<?php
$chosen_id = 6;//カテゴリーIDを指定
$thisCat = get_category($chosen_id);//カテゴリーの詳細データを取得
echo $post_sum = $thisCat->count;//カテゴリーの記事件数を表示
?>

2行目のカテゴリIDは、WordPressのカテゴリ一覧で「編集」の文字にマウスオーバー(マウスをクリックせずマウスポインタを指し示す)と、Webブラウザの画面下に表示されます。

WordPress カテゴリ一覧 カテゴリIDを確認

具体例として、「Windows OSの入手」の「編集」にマウスオーバーすると、Webブラウザの下にカテゴリIDが表示されます。

WordPress カテゴリ一覧 カテゴリIDを確認

図は、Webブラウザの下の部分の拡大図です。

「〜tag_ID=164〜」の数字の部分がカテゴリIDです。

この場合は、164が該当します。

WordPressの投稿や固定ページにPHPを埋め込むプラグイン

今回使っているWordPressのバージョン6.0.3、PHPのバージョンは7.4.28です。

この環境で動くプラグインを探したところ、以下のサイトで紹介されている「Insert PHP Code Snippet」が実際に使うことができました。

「Insert PHP Code Snippet」の詳しい使い方を知りたい方は以下のリンクをクリックしてもらいたいのですが、とりあえず私がどうやって使ったかを知りたい方は、次の章に進んでください。

実際に作成してPHPとカテゴリのコンテンツ内容

PHPコードの作成

まずは、「特定のカテゴリの投稿数を計算して表示し、カテゴリ一覧にジャンプするリンク」をPHPで作成します。

元にしたPHPのコードは、先にも紹介した以下の内容です。

<?php
$chosen_id = 6;//カテゴリーIDを指定
$thisCat = get_category($chosen_id);//カテゴリーの詳細データを取得
echo $post_sum = $thisCat->count;//カテゴリーの記事件数を表示
?>

今回計算するカテゴリIDは、164とします。

ここからは、順を追ってPHPコードを変更していきます。

<?php
$chosen_id = 164;//カテゴリーIDを指定
$thisCat = get_category($chosen_id);//カテゴリーの詳細データを取得
echo $post_sum = $thisCat->count;//カテゴリーの記事件数を表示
?>

2行目のカテゴリIDを164に変更します。

これで、PHPの実行結果では「3」という数字が表示されます。

<?php
$chosen_id = 164;//カテゴリーIDを指定
$thisCat = get_category($chosen_id);//カテゴリーの詳細データを取得
echo $post_sum = $thisCat->count;//カテゴリーの記事件数を表示
?>
記事あり

PHPコードの後ろに文字「記事あり」を追加します。

これで、PHPの実行結果では「3記事あり」といった表示になります。

<a href="https://yama-mac.com/category/mac_virtualization/get_windows/">
<?php
$chosen_id = 164;//カテゴリーIDを指定
$thisCat = get_category($chosen_id);//カテゴリーの詳細データを取得
echo $post_sum = $thisCat->count;//カテゴリーの記事件数を表示
?>
記事あり
</a>

カテゴリ一覧にジャンプするリンクとするため、前に「<a href=”https://yama-mac.com/category/mac_virtualization/get_windows/”> 」、後ろに「</a>」を追加します。

hrefの部分は、カテゴリ一覧のURLにあわせて変更してください。

これで、PHPの実行結果ではリンク付きの「3記事あり」といった表示になります。

プラグイン「Insert PHP Code Snippet」の使用

WordPressでプラグイン「Insert PHP Code Snippet」をインストールして有効化します。

ここからは、簡単に使い方を説明します。

Insert PHP Code Snippet

WordPressの管理画面のサイドメニューから「Insert PHP Code Snippet」をクリックします。

その後、ボタン「Add New PHP Snippet」をクリックします。

Insert PHP Code Snippet

先に作っていたPHPコードを、項目「PHP Code」の中に貼り付けます。

項目「Tracking Name」に名称を付けてから、ボタン「Update」をクリックして保存します。

(アンダーバー”_”は使えない)

Insert PHP Code Snippet

保存できたら、ふたたびWordPressの管理画面のサイドメニューから「Insert PHP Code Snippet」をクリックします。

そうすると、スニペットを使うためのショートコードが表示されます。

これを、投稿や固定ページに貼り付けると、PHPが実行されます。

Insert PHP Code Snippet

すでに作成しているスニペットを編集するには、スニペット一覧からエンピツとメモの編集アイコンをクリックします。

その他のアイコンの使い方は、図を参考にしてください。

コンテンツにPHPスニペットの埋め込み

Cocoonではカテゴリ一覧のページにコンテンツを作成できるので、今回は以下のようにPHPスニペットを埋め込みました。

Cocoon カテゴリ一覧 コンテンツ

このページをプレビューすると、PHPの実行結果が表示され、リンクのクリックも可能になりました。

Cocoon カテゴリ一覧 コンテンツ

まとめ

今回は、泥臭くてもなるべくわかりやすいやり方でやってみました。

ただし、プラグインを使っているので、WordPressやPHPのバージョンによる不具合や、他のプラグインとの相性問題がある可能性があるので、その点は頭の片隅に入れておいた方がよさそうです。

レンタルサーバのオススメ

当社も使っているXserverは、以下のメリットがあります。

  • 20年以上の実績、国内No.1のシェア(2023年5月時点、hostadvice.com 調べ)
  • 大量アクセスに強いサーバ投資
  • 法人向けサイトで人気のWordPressテーマ「Lightning」、個人向けブログで人気の「Cocoon」が標準で使用可能
  • 他社WordPressサーバからの移行ツールあり(本文・画像・テーマ・プラグインなど)
  • 10日間の無料試用期間あり
  • 今なら、12ヶ月以上の新規契約で《利用料金の半額》をキャッシュバックのキャンペーン中!2023年9月8日(金)12:00まで

詳しい情報や無料試用開始・新規契約は、以下のリンク先からどうぞ。

IT
スポンサーリンク
yamafdをフォローする
WordPress作業記録

コメント

タイトルとURLをコピーしました