Skip to content

v1.4.0: 期間別ランキング機能を追加

Choose a tag to compare

@taman777 taman777 released this 29 Nov 02:05
· 4 commits to main since this release

✨ 新機能
期間別ランキングウィジェット
週間・月間・全期間のアクセスランキングを表示する新しいウィジェットを追加しました。

主な特徴:

📊 集計期間の選択: 週間(過去7日間)、月間(過去30日間)、全期間から選択可能
🏷️ カテゴリー絞り込み: 特定のカテゴリー、または現在表示中のカテゴリーに合わせて自動絞り込み
👁️ 0 view 除外: アクセス数が0の記事をランキングから除外するオプション
🎨 デザイン継承: SYN OWND テーマのデザイン(リスト型、カード型、サムネイル型など)をそのまま利用可能
⚙️ 管理画面でON/OFF: デフォルトは無効。「SYN期間別ランキング」メニューから有効化
🔧 拡張性: gti_period_ranking_ranges フックで任意の集計期間(例:3ヶ月、半年)を追加可能
🚀 パフォーマンス改善
SQL最適化: 集計処理をPHPループからSQL一括処理に変更し、期間が長くても負荷が増えにくい設計
自動ガベージコレクション: 最大期間を超えた古い日別データを自動削除し、データベース肥大化を防止
📝 使い方
WordPress管理画面の 「GTI 賢威-SYN 管理ツール」>「SYN期間別ランキング」 を開く
「期間別ランキング機能(PV計測・ウィジェット)を有効にする」 にチェックを入れて保存
「外観」>「ウィジェット」 で 「【GTI】期間別ランキング」 をサイドバーなどに配置
注意: 集計データ(週間・月間)は1時間ごとのCronで生成されるため、導入直後はデータが表示されない場合があります。

🔧 開発者向け: カスタム期間の追加

add_filter('gti_period_ranking_ranges', function($periods) {
    // 6ヶ月(180日)を追加する例
    $periods['6months'] = ['label' => '6ヶ月 (過去180日間)', 'days' => 180];
    return $periods;
});

警告: 期間を長く設定しすぎると、集計処理の負荷が高くなる可能性があります。

📦 変更されたファイル
gti-keni-tools.php

  • バージョンを1.4.0に更新、Changelog追加
    README.md
  • 新機能の説明とアップデート履歴を追加
    inc/tools/period-ranking.php
  • 新規追加(期間別ランキング機能の実装)
    🔗 関連リンク
    README
    プラグインページ
    Full Changelog: v1.3.0...v1.4.0