WordPress Popular Postsプラグインで人気ランキングの記事一覧を表示する方法(サンプルコード付き)

投稿日:2024年04月13日(土) 更新日:2024年04月18日(木)
WordPress Popular Postsプラグインで人気ランキングの記事一覧を表示する方法(サンプルコード付き)|UMENOKI|すぐに仕事で使えるIT技術情報メディア

みなさんこんにちは!エンジニアの高澤です!

今回はWordPress Popular Postsプラグインで閲覧数ランキング記事一覧を表示する方法について解説していきたいと思います。

WordPressの人気順で記事一覧を表示することができるWordPress Popular Postsプラグインは、おそらく人気順機能系のプラグインで1番といっても過言ではないぐらい有名なプラグインだと思います。

非常に高度な機能を提供してくれるこのWordPress Popular Postsプラグインの機能を自由にカスタマイズすることができればサイトの表現の幅がぐんと広がりますので、よろしければぜひ当記事でカスタマズのノウハウを習得していただけますと幸いです。

WordPress Popular Postsとは

WordPress Popular Postsとは、WordPressに記事ページの人気ランキング機能を追加してくれるプラグインのことをいいます。

このプラグインをインストールしていただければ、プラグインの機能によってアクセスされたページは閲覧数のカウントを内部でおこない、データベースにその閲覧数を保存してくれます。

その閲覧数をもとに、テーマファイル内のPHPテンプレートファイルの任意の場所にWordPress Popular Postsで用意されている独自のクエリを取得して人気ランキング順に記事一覧を表示させることができます。

人気ランキングの閲覧数の取得期間の種類として「1日(daily)」「1週間(weekly)」「1ヶ月(monthly)」「全期間(all)」の4つのパターンで人気ランキングの記事一覧を表示させることが可能です。

また、実装方法にも様々なパターンで実装が可能なのでカスタマイズの自由度もかなり高く、上級エンジニアの方にとっては高度にカスタマイズでき、初心者エンジニアにとっても実装が簡単なので非常に扱いやすいプラグインといえます。

人気順で記事一覧を表示することのメリット

WordPress Popular Postsプラグインを使用して人気順で記事一覧を表示するメリットはいくつかありま。

メリットとしては以下の内容がいえるかと思います。

  • 読者の興味を引きつける
  • ユーザーとの関係値の向上する
  • トレンドや注目のテーマを把握できる
  • SEOの向上

それぞれ解説していきます。

読者の興味を引きつける

人気順で記事を表示することで、読者が興味を持ちやすいコンテンツを素早く見つけることができます。これにより、サイトの滞在時間が増え、読者がより多くの記事を読んでくれる可能性が高まります。

ユーザーとの関係値の向上する

人気順の記事一覧は、ユーザーとの関係値を向上させる効果があります。読者が他の人気のある記事を見つけやすくなるため、サイト上での相互作用やコンテンツへの関与が増加するでしょう。

トレンドや注目のテーマを把握できる

人気順の記事一覧を通じて、トレンドや注目のテーマを把握することができます。これにより、サイトの運営者は読者の関心やニーズに合ったコンテンツを提供する方針を立てることができます。

SEOの向上

人気順で記事を表示することで、より多くの閲覧数を持つ記事が目立つようになります。これにより、検索エンジン上での表示が向上し、サイトのSEOパフォーマンスが向上する可能性があります。

上記のように様々なメリットがありますが、WordPress Popular Posts プラグインを使用することでサイトのユーザーエクスペリエンスを向上させ、読者の満足度を高めることができます。

実装する方法

それでは早速実装する方法について解説していきたいと思います。

プラグインをインストール

まずはプラグインをインストールしましょう。

WordPress管理画面左メニューの「プラグイン」をクリックします。

すると下図のようにプラグインの管理画面ページが表示されます。

そしたら「新規プラグインを追加」をクリックしてください。

すると下図のようにプラグインの追加ページが表示されます。

画面右上にある検索テキストボックスに「WordPress Popular Posts」と入力していただきますと、下図のようにWordPress Popular Postsプラグインが検索結果に表示されますので、「今すぐインストール」をクリックしていただき、「有効化」をクリックしてください。

プラグイン一覧ページをご覧いただくと、下図のようにプラグインが追加されているのが確認できるかと思います。

これでWordPress Popular Postsの機能を使えるようになりました。

WordPressループで一覧を実装

WordPress Popular Postsのセットアップが完了したら、次は早速実装していきたいと思います。

ここではサイドバーに投稿記事(post)の人気ランキング一覧を5件で表示させることを想定して実装していきたいと思います。

ランキングの閲覧数の取得期間は「全期間」としております。

当記事ではサイドバーに表示させる想定で実装コードを解説していきたいと思います。

PHPコードの内容

それでは早速PHPコードを解説いたします。

以下のコードをsidebar.php、もしくはご自身の任意のPHPテンプレートファイルにコピー&ペーストしてください。

<div class="single__detail__box__right__box__ranking">
    <h2 class="single__detail__box__right__box__items__title">
        記事ランキング
    </h2>
    <ul class="single__detail__box__right__box__ranking__list">
        <?php
        $ranking_count = 0;
        $args = array(
            'post_type' => 'post', //投稿タイプ
            'range' => 'all', //集計する期間 {daily(1日), weekly(1週間), monthly(1ヶ月), all(全期間)}
            'limit' => 5, //取得最大数
            'order_by' => 'views',
        );
        $wpp_query = new \WordPressPopularPosts\Query($args);
        $wpp_posts = $wpp_query->get_posts();
        if(is_array($wpp_posts)):
            foreach ($wpp_posts as $wpp_post):
                $post = get_post($wpp_post->id);
                setup_postdata($post);
                $ranking_count++;
        ?>
        <li class="single__detail__box__right__box__ranking__list__items">
            <a class="single__detail__box__right__box__ranking__list__items__link" href="<?php echo get_permalink($wpp_post->ID); ?>">
                <span class="single__detail__box__right__box__ranking__list__items__left">
                    <span class="single__detail__box__right__box__ranking__list__items__left__count">
                        <?php echo $ranking_count; ?>
                    </span>
                    <?php
                    if(has_post_thumbnail()):
                        the_post_thumbnail();
                    else:
                    ?>
                    <img class="single__detail__box__right__box__ranking__list__items__left__img" src="<?php echo get_theme_file_uri(); ?>/image/noimage.png">
                    <?php
                    endif;
                    ?>
                </span>
                <span class="single__detail__box__right__box__ranking__list__items__right">
                    <h3 class="single__detail__box__right__box__ranking__list__items__right__title">
                        <?php echo $wpp_post->title; ?>
                    </h3>
                </span>
            </a>
        </li>
        <?php
        endforeach;
        else:
        ?>
            <li>現在準備中です。</li>
        <?php
        endif;
        wp_reset_postdata();
        ?>
    </ul>
</div>

上記コードは人気記事の一覧を5件表示させるPHPコードになります。

以下のノーイメージのimgタグの箇所は、src属性の画像URLをお好きな画像のものに修正しておいてください。

<img class="single__detail__box__right__box__ranking__list__items__left__img" src="<?php echo get_theme_file_uri(); ?>/image/noimage.png">

上記コードをペーストしていただき保存していただきますと、下図のようなイメージで記事が表示されているかと思います。

まだCSSでレイアウトしていないので、崩れたような印象の表示になりますが、ちゃんと閲覧数順で上から表示されているのが確認できるかと思います。

また、人によっては記事一覧が表示されていない!?という方もいらっしゃるかと思います。

ご安心ください。表示されていない理由は、まだ閲覧数がデータベースに保存されておらずその反映がまだ完了していないために表示されていないだけです。

ユーザーが各記事ページにアクセスすることによって閲覧数がカウントされるので、そのうち表示されるようになります。

CSSコード内容

PHPのコードの実装が完了したら、次はCSSでレイアウトしていきます。

以下のコードをCSSファイルなどにコピー&ペーストしてください。

.single__detail__box__right__box__items__title{
    font-size: 21px;
    border-bottom: 1px solid #555;
    padding-bottom: 6px;
}
.single__detail__box__right__box__ranking {}
.single__detail__box__right__box__ranking__title {}
.single__detail__box__right__box__ranking__list {
    margin-top: 15px;
}
.single__detail__box__right__box__ranking__list__items {
    margin-bottom: 16px;
}
.single__detail__box__right__box__ranking__list__items__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.single__detail__box__right__box__ranking__list__items__left {
    display: inline-block;
    width: 70px;
    position: relative;
}
.single__detail__box__right__box__ranking__list__items__left__count {
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    color: #fff;
    background: #2a627e;
    /* background:#333; */
    position: absolute;
    top: 0;
    left: 0;
}
.single__detail__box__right__box__ranking__list__items__left__img {
    width: 100%;
    height: 70px;
}
.single__detail__box__right__box__ranking__list__items__right {
    display: inline-block;
    width: 178px;
}
.single__detail__box__right__box__ranking__list__items__right__title {
    font-size: 13px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
}

すると大体下図のイメージで見た目が整うかと思います。

多少見た目が違ったりするかと思いますが、うまいこと調整していただければ大丈夫かと思います。

もちろんこのままではご自身のサイトに適した色や幅の数値などになっていないかと思いますので、ご自由にカスタマイズしていただけますと幸いです。

これでWordPress Popular Postsを使った人気ランキング記事一覧の表示の実装は完了です。

お疲れ様でした!

パラメーターについて

実装方法についてご理解いただきましたら、最後にパラメーターについて解説させていただければと思います。

このパラメータについて把握していただくことで、柔軟に人気記事一覧のカスタマイズが可能となりますので、よろしければお役立てください。

パラメーターは以下の内容になります。

パラメーター名内容初期値
range集計する期間を指定します。デフォルトでは 「all(全期間)」 が使用され、全期間の閲覧数を集計します。
他の選択肢には 「daily(1日間)」「weekly(1週間)」「monthly(1ヶ月)」があります。
all
limit取得する投稿の最大数を指定します。ランキングに表示する投稿の最大数を制限します。
デフォルトでは5が使用されます。
5
order_by投稿の並び順を指定します。
デフォルトでは 「views」が使用され、閲覧数が多い順に並べ替えられます。
他の選択肢には 「comments(コメント数)」「average(平均閲覧数)」があります。
views

これらのパラメーターを指定することで、WordPress Popular Postsプラグインの動作をカスタマイズできます。

まとめ

WordPress Popular Postsプラグインで閲覧数ランキング記事一覧を表示する方法についての解説は以上になります。

WordPressの人気順で記事一覧を表示することができるWordPress Popular Postsプラグインは、おそらく最も有名で多くのサイトで使われている非常に優秀なプラグインです。

またカスタマイズの柔軟性も高く、WordPress Popular Postsプラグインを使いこなせることによって人気記事一覧の表示において表現の幅がぐんと広がり、管理の面でも簡単にしてくれます。

よろしければぜひ当記事をお仕事にお役立ていただけましたら幸いです。

執筆者

UMENOKI編集部 高澤 翔汰

歴5年目(2024年8月以降から5年目です)のエンジニアです!
CMSでのサイト構築とWebデザイン制作を兼任して5年目になります。
自作のiOSアプリ(iPhoneアプリ)やWordPressプラグインを開発することもあり、まだまだ現在進行形で勉強中です!

お気軽に皆さんのご要望をお聞かせください!

どんなに些細なことでも構いません!よろしければ記事や当サイトへの「こんな記事があったら仕事とかで役に立つな〜」や「こうだったらもっと役に立つのに!」といったようなご要望等をお気軽にお聞かせください!今後のサービス改善にお役立てさせていただきます!

例1)Reactの技術記事を書いてほしい!
例2)WordPressの使い方とかを初心者向けに解説してほしい!...など

送信と同時にプライバシーポリシーに同意したものとします。
サンタさん