WordPress人気プラグイン Popular Postsプラグインなしで人気記事を表示させる方法

2022年6月14日

WordPressで人気記事を表示させるプラグインの定番といえば『WordPress Popular Posts
弊社複数運営しているWebメディアでも重宝するプラグインのため、インストールしております。

ただ、このプラグイン現時点(2022年6月14日現在)更新が5ヶ月とまっているプラグイン。
脆弱性などはありませんが、WPコアがバージョンアップされ続ける上で、半年以上アップデートされていないと動作表示など万が一、何かが起こる可能性も少なからずあります。

無理矢理このプラグインから変えましょう。というわけではなく、望ましいレイアウトが出ない。しっかりと保守管理を行いたい。というサイトの場合は以下コードをご確認ください。

Popular Postsプラグインなしで人気記事を表示させる方法

functions.phpにコード追加する

// 記事PV取得
function getPostViews($postID) {
  $count_key = 'post_views_count';
  $count = get_post_meta($postID, $count_key, true);
  if ($count=='') {
    delete_post_meta($postID, $count_key);
    add_post_meta($postID, $count_key, '0');
    return "0 View";
  }
  return $count.' Views';
}

// 記事PVカウント
function setPostViews($postID) {
  $count_key = 'post_views_count';
  $count = get_post_meta($postID, $count_key, true);
  if ($count=='') {
    $count = 0;
    delete_post_meta($postID, $count_key);
    add_post_meta($postID, $count_key, '0');
  } else {
    $count++;
    update_post_meta($postID, $count_key, $count);
  }
}
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

single.phpにコード追加

「get_header()」記述以降の任意箇所に追加してください。

<?php
    // 記事のビュー数を更新(ログイン中・クローラーは除外)
    if (!is_user_logged_in() && !is_robots()) {
      setPostViews(get_the_ID());
    }
  ?>

sidebar.phpにコード追加

sidebar.phpではなくとも、表示をしたい場所に以下のコードを貼り付けしてください。

今回はサイドバーを例とするため、「sidebar.php」に追加します。

<div>
  <h4>よく読まれている記事</h4>
  <hr>
  <?php
    $args = array(
      'post_type' => 'post',
      'meta_key' => 'post_views_count',
      'orderby' => 'meta_value_num',
      'posts_per_page' => 5,
      'order'=>'DESC',
    );
    $the_view_query = new WP_Query( $args );
    if ($the_view_query->have_posts()):
      while($the_view_query->have_posts()): $the_view_query->the_post();
  ?>
      <!-- サムネイルの表示 -->
      <div>
        <ahref="<?php echo get_permalink(); ?>">
          <?php if ( has_post_thumbnail() ) { the_post_thumbnail( 'post-thumbnail'); } ?>
        </a>
      </div>

      <!-- タイトル表示 -->
      <div>
        <ahref="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        <p><?php echo getPostViews($post->ID); ?></p>
      </div>

      <?php endwhile; ?>
    <?php endif; ?>
    <?php wp_reset_postdata(); ?>
  </div>

表示件数やレイアウト構成はCSSで調整ください。

他にも出力したい内容がある場合はコードを追加してください。

これでプラグインを闇雲にいれる必要もなく、先日ご紹介している『WordPressで出来るだけ避けたい・卒業したいプラグイン』からも少しだけ卒業でき、メンテナンス部分の不安は解消されるはずです。

リビジョン株式会社ではWordPressのローカライズ化やスポット改修、WordPressに関わる全ての業務に精通しております。ご相談はお気軽にフォームよりご連絡ください。


SHARE

Recent Entries

Google検索時『話題の検索キーワードに基づくオートコンプリートを非表示にする方法』
ECシステム(eCommerce)日本シェア率 2022年6月
Contact Form 7のスパムメール対策、WordPressのデフォルト機能を活用してIPや特定メール、営業メールを避ける方法
Internet Explorer 11 廃止に伴う代替ブラウザ(Google Chrome、Safari、Firefox)インストール方法
WordPress人気プラグイン Popular Postsプラグインなしで人気記事を表示させる方法


SERVICE LINEUP

Webサイト制作

Webサイト制作

デザインはもちろん、ホームページ更新頻度に関わらず、ブログ感覚で知識がなくても更新が容易にできるツールがほしいお客様向けに更新ツールをご用意。
Webマーケティング

Webマーケティング

定量的にアクセスを見込めるのオーガニック検索からSEM、SNSを活用した認知度の向上などニーズを把握し、コンバージョンを改善。
ECサイト制作

ECサイト制作

ECサイトで商品を販売、売上・販路を拡大したい。コンバージョンをアップさせたいなどお悩みを解決致します。
システム開発

システム開発

企業間取引マッチングサイトシステム開発、市区町村向けコミュニティサイト開発、不動産検索システムなど様々な開発を行っています。
ソリューション

ソリューション

メルマガASPや既存Webサイトアプリ化、電子書籍、低価格サーバー、アクセス解析サービスなど月額にてご提供いたします。

CONTACT US

Webサイトリニューアルから新規ホームページ制作まで、目的達成を実現いたします。
各種Webサイト・ECサイト制作に関するご相談、ご質問などお気軽にお問合せ下さい。

Tel : 03-5324-2318 / Email : info@reinc.jp

フォームでの各種お問合せはこちらから