MENU
  • ホームHOME
  • スマートホームSmart Home
    • スマートリモコン
    • スマートライト
    • スマートロック
    • スマートカメラ
    • スマートセンサー
    • スマートスピーカー
    • IoT家電
    • ロボット掃除機
  • ガジェットGadgets
    • iPhone & iPad
    • アップルウォッチ
    • パソコン関連
    • 充電器/モバイルバッテリー
    • キーボードマウス
    • アプリソフト関連
    • カメラ
    • オーディオその他
  • 生活家電&インテリアAppliances
    • Wi-Fiルーター
    • PCモニター
    • デスク関連
    • モバイル&光回線
    • その他家電
  • ライフLife Style
    • ニュース
    • ライフハック
    • 便利なサービス
    • プログラミング
    • コラム
    • ブログ運営
  • 勉強アプリEducation
    • ビジネス資格
      • ビジネスマネジャー検定
      • MCPC IoT検定 中級対応
      • MCPCモバイルシステム技術
    • DIGI Radio
      (特設サイト)
      • 一陸技アプリ
      • 一陸特アプリ
      • 二陸特アプリ
      • 工事担任者(総合通信)アプリ
    • クラウド系アプリ
      • AWS SAAアプリ
      • AZ-900勉強アプリ
      • AI-900勉強アプリ
    • 宅建学習サイト
  • まとめ記事Summary
  • お問合せContact
    • 勉強アプリ専用フィードバックフォーム
ガジェット&お得なサービス情報をお届けするブログメディア「デジライン」
DIGILINE (デジライン)
  • ホームHOME
  • スマートホームSmart Home
    • スマートリモコン
    • スマートライト
    • スマートロック
    • スマートカメラ
    • スマートセンサー
    • スマートスピーカー
    • IoT家電
    • ロボット掃除機
  • ガジェットGadgets
    • iPhone & iPad
    • アップルウォッチ
    • パソコン関連
    • 充電器/モバイルバッテリー
    • キーボードマウス
    • アプリソフト関連
    • カメラ
    • オーディオその他
  • 生活家電&インテリアAppliances
    • Wi-Fiルーター
    • PCモニター
    • デスク関連
    • モバイル&光回線
    • その他家電
  • ライフLife Style
    • ニュース
    • ライフハック
    • 便利なサービス
    • プログラミング
    • コラム
    • ブログ運営
  • 勉強アプリEducation
    • ビジネス資格
      • ビジネスマネジャー検定
      • MCPC IoT検定 中級対応
      • MCPCモバイルシステム技術
    • DIGI Radio
      (特設サイト)
      • 一陸技アプリ
      • 一陸特アプリ
      • 二陸特アプリ
      • 工事担任者(総合通信)アプリ
    • クラウド系アプリ
      • AWS SAAアプリ
      • AZ-900勉強アプリ
      • AI-900勉強アプリ
    • 宅建学習サイト
  • まとめ記事Summary
  • お問合せContact
    • 勉強アプリ専用フィードバックフォーム
DIGILINE (デジライン)
  • ホームHOME
  • スマートホームSmart Home
    • スマートリモコン
    • スマートライト
    • スマートロック
    • スマートカメラ
    • スマートセンサー
    • スマートスピーカー
    • IoT家電
    • ロボット掃除機
  • ガジェットGadgets
    • iPhone & iPad
    • アップルウォッチ
    • パソコン関連
    • 充電器/モバイルバッテリー
    • キーボードマウス
    • アプリソフト関連
    • カメラ
    • オーディオその他
  • 生活家電&インテリアAppliances
    • Wi-Fiルーター
    • PCモニター
    • デスク関連
    • モバイル&光回線
    • その他家電
  • ライフLife Style
    • ニュース
    • ライフハック
    • 便利なサービス
    • プログラミング
    • コラム
    • ブログ運営
  • 勉強アプリEducation
    • ビジネス資格
      • ビジネスマネジャー検定
      • MCPC IoT検定 中級対応
      • MCPCモバイルシステム技術
    • DIGI Radio
      (特設サイト)
      • 一陸技アプリ
      • 一陸特アプリ
      • 二陸特アプリ
      • 工事担任者(総合通信)アプリ
    • クラウド系アプリ
      • AWS SAAアプリ
      • AZ-900勉強アプリ
      • AI-900勉強アプリ
    • 宅建学習サイト
  • まとめ記事Summary
  • お問合せContact
    • 勉強アプリ専用フィードバックフォーム
  1. ホーム
  2. ライフ
  3. ブログ運営
  4. Simple GA Rankingを使ってカテゴリー別のランキングを作成する

Simple GA Rankingを使ってカテゴリー別のランキングを作成する

2022 11/23
プロモーションを含みます
ブログ運営 プログラミング
Google

当サイトでも採用していますが、人気記事ランキングを作成するプラグインはいくつかありますが、やはりその中でも軽量で使いやすいと言われているのがSimple GA Rankingですよね。

Google Analyticsを使用したランキング何ですが、今回これを使ってカテゴリー別のランキングを作ってみたいと思い、色々調べた結果以下のakatsukiさんのブログにたどり着きました。

https://yosiakatsuki.net/blog/wp-simple-ga-ranking-category/

とても参考になったんですが、一部コードに修正を加えた方がよりCSS等でいじりやすくなるので、少し修正を加えたコードを公開しようかと思います。

コードの修正点

元のakatsukiさんのコードはちゃんと最低機能してくれるんですが、サムネイル画像の部分がシンプルに画像データimpだけ引っ張って来ているので、よくこういうサムネイル でありがちな、「画像をクリックするとページに飛ぶ」ということができませんので、この部分の修正をします

その次にランキングのリストが全て同じclassで指定されてしまうので、css側でランキングごとに表示を変えるようなやり方にしたいので、その部分も直していきます。

サムネイル表示の修正

先ずは元コードをみてみるとこんな感じになっていると思います。

    /**
     * ランキング作成
     */
    if ( ! empty( $ranking_data ) ) {
      echo '<ol class="sga-ranking">';
      foreach ( $ranking_data as $post_id ) {
        echo '<li class="sga-ranking-list">' . get_the_post_thumbnail( $post_id, 'thumbnail' ) . '<a href="' . esc_url_raw( get_permalink( $post_id ) ) . '">' . esc_html( get_the_title( $post_id ) ) . '</a></li>';
      }
      echo '</ol>';
    }

これでhtmlをみるとざっくりこんな感じで出来上がります。

<li class="sga-ranking-list">
 <img.....>
<a href...></a>
</li>

これだと単に左にサムネイル 画像ができて、右に記事タイトルをあるだけ。また画像をクリックしても何も起きません。

なので、これをこんな感じに直してあげます。

<li class="sga-ranking-list">
 <figure class="sga-ranking-thumb">
   <a href...>
     <img.....>
   </a>
<a href...></a>
</li>

こうすることでサムネイル 画像側にもリンクが入るようになりますね。

具体的なコードとしてはこんな感じなりました。少しごちゃごちゃしてキレイではないんですが、とりあえずこれで動きます。

        echo '<li class="sga-ranking-list">' .'<figure class="sga-ranking-thumb">'. '<a href="' . esc_url_raw( get_permalink( $post_id ) ) . '" title = " ' . esc_html( get_the_title( $post_id ) ) . '">' . get_the_post_thumbnail( $post_id, 'thumbnail' ) .'</a></figure>'. '<a href="' . esc_url_raw( get_permalink( $post_id ) ) . '" title = " ' . esc_html( get_the_title( $post_id ) ) . '">' . esc_html( get_the_title( $post_id ) ) . '</a></li>';

順位別のランキングクラスの追加

次に順位別にCSSをいじれるようにコードを修正していきましょう。

これは結構簡単です。元のコードを先ずは見てみましょう。

    /**
     * ランキング作成
     */
    if ( ! empty( $ranking_data ) ) {
      echo '<ol class="sga-ranking">';
      foreach ( $ranking_data as $post_id ) {
        echo '<li class="sga-ranking-list">'

シンプルにリストにClassを追加しているだけですが、これを順位別にclass名が変わるようにしてしまいましょう。

具体的にはカウント用に変数($num)を準備してあげて、カウントアップするようにしてあげれば良いだけです。元々foreachでリストを回しているだけなので、sga-ranking-list-‘.$num++.’を末尾追加すれば、あとは1位であれば、sga-ranking-list-1、2位であれば、sga-ranking-list-2となります。

    /**
     * ランキング作成
     */
	  $num = 1;
	  if ( ! empty( $ranking_data ) ) {
      echo '<ol class="sga-ranking">';
      foreach ( $ranking_data as $post_id ) {
        echo '<li class="sga-ranking-list sga-ranking-list-'.$num++.'">'.......

あとはそれぞれの順位別にsga-ranking-list-xxへのCSSをいじってあげればおしまいです。

おまけサンプル function.php & CSS

function.phpに以下を記述する。

///////////////////////////////
//---Simple GA Ranking Category別---/////
//////////////////////////////
wp_register_sidebar_widget(
  'sga_ranking_sample_cat',
  'カテゴリー別の人気ランキング',
  'widget_sga_ranking_sample_cat',
  array(
    'description' => 'Simple GA Rankingを使ってカテゴリーで絞り込んだランキングを作成する',
    'title'       => ''
  )
);

function widget_sga_ranking_sample_cat( $args ) {
  echo $args['before_widget'];
  echo $args['before_title'] . $args['widget_name'] . $args['after_title'];
  if ( function_exists( 'sga_ranking_get_date' ) ) {
    $sga_args = array(
      'display_count' => 5, //5件表示する
      'period'        => 7, //過去7日のデータを使う(週別ランキング)
    );
    /**
     * 投稿 or カテゴリーアーカイブページならカテゴリーで絞り込む
     */
    if ( is_single() || is_category() ) {
      $cat_slug = array();
      $cat_list = array();
      /**
       * 絞り込み対象のカテゴリー一覧を作成する
       */
      if ( is_single() ) {
        $cat_list = get_the_category();
      } else {
        $cat        = get_queried_object();
        $cat_list[] = $cat;
        $children   = get_term_children( $cat->term_id, 'category' );
        foreach ( $children as $cat_id ) {
          $cat_list[] = get_category( $cat_id );
        }
      }
      foreach ( $cat_list as $cat ) {
        $cat_slug[] = $cat->slug;
      }
      /**
       * カテゴリーslugを指定して絞込
       */
      $sga_arg_cat = array(
        'category__in' => implode( ',', $cat_slug )
      );
      /**
       * 条件結合
       */
      $sga_args = wp_parse_args( $sga_arg_cat, $sga_args );
    }
    /**
     * ランキングデータ取得
     */
    $ranking_data = sga_ranking_get_date( $sga_args );
    /**
     * ランキング作成
     */
	  $num = 1;
	  if ( ! empty( $ranking_data ) ) {
      echo '<ol class="sga-ranking">';
      foreach ( $ranking_data as $post_id ) {
        echo '<li class="sga-ranking-list sga-ranking-list-'.$num++.'">' .'<figure class="sga-ranking-thumb">'. '<a href="' . esc_url_raw( get_permalink( $post_id ) ) . '" title = " ' . esc_html( get_the_title( $post_id ) ) . '">' . get_the_post_thumbnail( $post_id, 'thumbnail' ) .'</a></figure>'. '<a href="' . esc_url_raw( get_permalink( $post_id ) ) . '" title = " ' . esc_html( get_the_title( $post_id ) ) . '">' . esc_html( get_the_title( $post_id ) ) . '</a></li>';
      }
      echo '</ol>';
    }
  }
  echo $args['after_widget'];
}

ランキング別のCSSをいじるには以下を小テーマ のstyle.cssに記載しましょう。色を適当にお好みで変えてください。

.sga-ranking {
	counter-reset: number;  /*順位付け用*/
}
.sga-ranking li {
	position: relative;
	list-style: none;
}
.sga-ranking li:before {
	counter-increment: number;
	content: counter(number);
	position: absolute;
	top: 0;
	left: 0;
	width: 1.6em;
	height: 1.6em;
	line-height: 1.6em;
	font-size: 12px;
	color: #fff;
	text-align: center;
	background: rgba(0,153,255,0.4);  /*好きな色に変更する。特に順位別に指定が無ければこの色になる。*/
	z-index: 1;
}
.sga-ranking li.sga-ranking-list.sga-ranking-list-1:before {
	background: rgba(218,179,0,0.6); /*1位用:好きな色に変更する*/
}
.sga-ranking li.sga-ranking-list.sga-ranking-list-2:before {
	background: rgba(192,192,192,0.4); /*2位用:好きな色に変更する*/
}

.sga-ranking li.sga-ranking-list.sga-ranking-list-3:before {
	background: rgba(129,90,43,0.5); /*3位用:好きな色に変更する*/
}
ブログ運営 プログラミング
Google

この記事が気に入ったら
いいね または フォローしてね!

Follow @digiline_ Follow Me
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Takaのアバター Taka

AI業務自動化エンジニア / IoTコンサルタント / ガジェットブロガー

AIとIoTの技術を組み合わせ、スマートホーム構築・業務自動化・ガジェット活用を中心に情報発信と技術支援を行っています。
最新デバイスの検証やレビューだけでなく、実際に生活に組み込み、効率的でストレスのない暮らしを実現するための具体的なノウハウを提供しています。

自宅を“テックハブ”として運用しながら、AIエージェント、IoTデバイス、クラウドサービスを連携させた実験的な取り組みも継続中。
技術の進化を生活に落とし込み、「明日から使えるスマートな暮らし」を読者のみなさんと一緒に作っていくことを目指しています。

関連記事

  • 1時間で出来るスマートホーム化:Google Homeを使って家電を操作するできるようにする
    2022年12月17日
  • 【Google Nest活用術】Google Nestを買ったら先ずこれだけはやっておくだけで満足度段違い!
    2022年12月17日
  • ChromecastでApple TVが見れるようになりました
    2022年12月17日
  • 介護施設のおばあちゃんのためにGoogle Nest Hub Maxでテレビ電話を。Google Duoの使い方を解説!
    2022年12月17日
  • Google Nest Hub(ネストハブ)のできること。スマートディスプレイが便利!
    2022年12月17日
  • Google HomeからCanonプリンタに塗り絵や折り紙を印刷させる方法
    2022年12月17日
  • Google Nestスマートスピーカーでショッピングリストを家族と共有しよう
    2022年12月17日
  • GoogleHomeとは何か?Google Homeで出来るスマートホーム
    2022年12月17日

コメント

コメントする コメントをキャンセル

人気記事
  • IKEA TRADRI(トロードフリ)のリモコン/センサーが反応しない!?電球がペアリングできないときの復旧方法
    ライフハック
  • iPhoneの電池の減りが異常に早いのでバッテリー交換しに行ったら断れた話。AppleCare+未加入の人は注意しよう!
    便利なサービス
  • セゾンカードの携行品保険ならスマホもパソコンも保証!月300円のスマホ補償付きお買い物安心プラン[Y]がコスパ最強!
    保険のこと
  • iPhoneのフィールドテストモード。隠しコマンドを入れたらこうなるなんて!?【専門家が解説】
    ライフハック
  • Apple Watch (アップルウォッチ)向けの保険としてapplecare+はいらないよ
    保険のこと
新着記事
  • SwitchBotキャンドルウォーマーは買いか?火を使わない安心感とスマート連携を実用目線でレビュー
    2026年3月20日
  • 今からでも間に合う。2025年に買ってよかったガジェット6選
    2026年3月10日
  • SwitchBot AIハブ本体の上面。角の丸いアルミ調の筐体で、従来の小型ハブよりミニPCに近い見た目
    SwitchBot AIハブは買いか?ただのハブではなく家全体のAI中枢だった
    2026年3月10日
  • SwitchBot顔認証パッドProレビュー|静脈認証は指紋より使いやすい?実機で検証
    2026年3月8日
  • 【実機レビュー】SwitchBot AIアートキャンバスは買いか?コードレス「デジタル絵画」を試した感想
    2026年3月6日
目次
DIGILINEオススメのサービス
TAKA
メディア監修
AI業務自動化エンジニア / IoTコンサルタント / ガジェットブロガー

AIとIoTの技術を組み合わせ、スマートホーム構築・業務自動化・ガジェット活用を中心に情報発信と技術支援を行っています。
最新デバイスの検証やレビューだけでなく、実際に生活に組み込み、効率的でストレスのない暮らしを実現するための具体的なノウハウを提供しています。

自宅を“テックハブ”として運用しながら、AIエージェント、IoTデバイス、クラウドサービスを連携させた実験的な取り組みも継続中。
技術の進化を生活に落とし込み、「明日から使えるスマートな暮らし」を読者のみなさんと一緒に作っていくことを目指しています。
新着記事
  • SwitchBotキャンドルウォーマーは買いか?火を使わない安心感とスマート連携を実用目線でレビュー
  • 今からでも間に合う。2025年に買ってよかったガジェット6選
  • SwitchBot AIハブ本体の上面。角の丸いアルミ調の筐体で、従来の小型ハブよりミニPCに近い見た目
    SwitchBot AIハブは買いか?ただのハブではなく家全体のAI中枢だった
  • SwitchBot顔認証パッドProレビュー|静脈認証は指紋より使いやすい?実機で検証
記事を探す
メーカーで探す
+style Aiseesoft Amazon Anker Apple Aqara BLUETTI braun Broadlink Buffalo CANDY HOUSE(キャンディハウス) DELL DJI FlexiSpot(フレキシースポット) Garmin(ガーミン) GenHigh Google GoPro Hysure IKEA iRobot issin j5create Kandao LinkJapan LoopEarplugs MiniTool MOFT(モフト) MovPilot Narwal Philips PITAKA(ピタカ) QNAP Qrio(キュリオ) Rakuten Satechi(サテチ) SwitchBot(スイッチボット) tile TP-Link(ティーピーリンク) UGREEN Ulanzi VOLTME Zenosyne お得情報 まとめ
  • DIGI LINE(デジライン)について
  • DEVELOP
  • お仕事の依頼
  • 特定商取引法に関する表記
  • 免責事項/プライバシーポリシー
  • お問合せ

© DIGILINE (デジライン)

目次