【WordPress】カテゴリの記事数を表示する

WordPress

【WordPress】カテゴリの記事数を表示する

2018年5月10日

こんにちは!

 

私のブログで記事数をトップページに表示できるようにしましたが、備忘録として残しておきたい事がありましたので忘れずに書いておきます。

 

記事数を取得する方法として、ここではプラグインを使わず、PHP を使う事といたします。

表示する処理は 便宜的に index.php とし、記事数を取得してくる処理は、function.php 側で書きました。

 

 

単一カテゴリの記事数を取得したい場合

 

単一カテゴリの記事数を取得したい場合は、get_categories のパラメーターである parent で取得できます。

また、配列で処理しますが、parent のデフォルト値は 空 になっていますので、0 に変更します。

 

get_categories パラメーターのデフォルト値

$args = array(
    'parent' => 0
); 

 

index.php

<?php $parent_categories = get_categories(); ?>;
<?php foreach ($parent_categories as $parent_category) { ?>
    <p>記事数は<?php echo $parent_category->;count; ?>件です。</p>

 

function get_parent_categories(){
    $args = array(
        'parents' =>; 0
    );
    $categories = get_categories($args);
    $parent_categories = array();
    foreach ($categories as $category) {
        if($category->parent === 0) {
        $parent_categories[] = $category;
        } 
    }
    return $parent_categories;
}

 


親カテゴリとその入れ子になっている子カテゴリの記事数を取得したい場合

 

親と子カテゴリの記事数を取得したい場合は、get_categories のパラメーターである pad_counts と使います。

また、配列で処理しますが、pad_counts のデフォルト値は false になっていますので、true に変更します。

 

get_categories パラメーターのデフォルト値

$args = array(
    'pad_counts' => false 
); 

 

 

index.php

<?php $parent_categories = get_categories(); ?>
<?php foreach ($parent_categories as $parent_category) { ?>
    <p>記事数は<?php echo $parent_category->count; ?>件です。</p>;

 

function.php

function get_parent_categories(){
    $args = array(
        'pad_counts' => true
    );
    $categories = get_categories($args);
    $parent_categories = array();
    foreach ($categories as $category) {
        if($category->parent === 0) {
        $parent_categories[] = $category;
        } 
    }
    return $parent_categories;
}

 

子カテゴリの記事数を取得したい場合

 

単一の子カテゴリの記事数のみ取得したい場合は、以下のように get_categories で 変数にデータを格納し、foreach で親カテゴリがないもののみ取得します。

 

index.php

<?php $child_categories = get_child_categories(); ?>
<?php foreach ($child_categories as $child_category) { ?>
    <p><?php echo $child_category->category_count; ?></p>

 

function.php

function get_child_categories(){
    $categories = get_categories();
    $child_categories = array();
    foreach ($categories as $category) {
        if($category->parent !== 0) {
            $child_categories[] = $category;
        } 
    }
    return $child_categories;
}

 

 

いかがでしょうか。

 

記事数を取得する場合は、get_categories を使い、親カテゴリのみや親と子カテゴリの記事数を取得したい場合は get_categories のパラメーターを配列で使いました。

子カテゴリの記事数を取得する場合は、親カテゴリがないもののみ foreach で取得しました。

カテゴリによってこのような形で処理する事により、適切な記事数が取得できると思います。

 

また get_categories のパラメータの一覧が WordPress Codex で確認できますのでリンクを貼っておきました。

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

https://wpdocs.osdn.jp/関数リファレンス/get_categories

 

 

では最後までお読みいただきありがとうございました!

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りでマイペースな人です。

人気記事

1

こんにちは!SE ブログの相馬です。       今回は、PC に適用されている GPO を確認する方法について書きました。     グループポリシー ...

2

こんにちは!SE ブログの相馬です。       今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは ...

3

こんにちは!SE ブログの相馬です。       今回は、グループポリシーを使って、特定のコンピューターに対して、ドメインユーザーに Administrators 権限を ...

4

こんにちは!SE ブログの相馬です。       今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 ...

5

こんにちは!SEブログの相馬です。       今回は、ユーザープロファイルを削除する方法について書いてみました。     1 台の PC を複数人で ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!SE ブログの相馬です。       今回は、Windows Server 2016 で NTP サーバーと同期する方法について書きました。   & ...

-WordPress
-