• TOP
  • 記事一覧
  • 【WordPressプラグイン】人気記事 管理 WordPress Popular Posts 実践的なカスタマイズ

【WordPressプラグイン】人気記事 管理 WordPress Popular Posts 実践的なカスタマイズ

更新日:2025/02/14

はじめに

WordPressで人気記事を表示する際に欠かせないプラグイン「WordPress Popular Posts」。このプラグインは非常に柔軟で、様々なカスタマイズが可能です。今回は、実務でよく使用するカスタマイズ方法と、その実装のポイントについて詳しく解説していきます。

カスタマイズ構造 表示設定 limit, offset, range デザイン設定 template, style フィルター設定 cat, post_type キャッシュ設定 cache, time ソート設定 order_by, sort 除外設定 exclude, author 主要設定オプション

1. 基本的な表示期間の設定

WordPress Popular Postsでは、view数の集計期間を細かく設定することができます。以下が主な設定オプションです:

$query = new \WordPressPopularPosts\Query(array(
    'limit' => 35,
    'post_type' => 'post',
    'order_by' => 'views',
    'range' => 'last30days' // 期間設定
));

設定可能な期間オプション

  • last24h: 過去24時間の人気記事
  • last7days: 過去1週間の人気記事
  • last30days: 過去30日間の人気記事
  • all_time: 全期間の人気記事
  • custom: カスタム期間

2. デザインのカスタマイズ

Popular Postsの表示デザインは、HTMLとCSSで自由にカスタマイズできます。以下は一般的な実装例です:

<ul class="popular-posts-list">
    <?php foreach ($ranks as $rank): ?>
        <li class="popular-post-item">
            <a href="<?php echo get_the_permalink($rank->id); ?>">
                <div class="post-thumbnail">
                    <?php echo get_the_post_thumbnail($rank->id, 'thumbnail'); ?>
                </div>
                <div class="post-content">
                    <h3><?php echo $rank->title; ?></h3>
                    <span class="view-count"><?php echo $rank->pageviews; ?> views</span>
                    <span class="post-date">
                        <?php echo get_the_modified_date('Y/m/d', $rank->id); ?>
                    </span>
                </div>
            </a>
        </li>
    <?php endforeach; ?>
</ul>

3. 高度なカスタマイズテクニック

3.1 カテゴリー別の人気記事表示

特定のカテゴリーの人気記事のみを表示したい場合:

$query = new \WordPressPopularPosts\Query(array(
    'limit' => 5,
    'post_type' => 'post',
    'order_by' => 'views',
    'range' => 'last30days',
    'taxonomy' => 'category',
    'term_id' => 'your-category-id'
));

3.2 除外設定

特定の投稿やカテゴリーを除外したい場合:

$query = new \WordPressPopularPosts\Query(array(
    'limit' => 10,
    'post_type' => 'post',
    'order_by' => 'views',
    'range' => 'all_time',
    'pid' => '1,2,3', // 除外する投稿ID
    'cat' => '-1,-2,-3' // 除外するカテゴリーID
));

4. パフォーマンス最適化

4.1 キャッシュの活用

データベースへのアクセスを減らすためにキャッシュを使用:

$cache_key = 'popular_posts_cache';
$popular_posts = wp_cache_get($cache_key);

if (false === $popular_posts) {
    $query = new \WordPressPopularPosts\Query(array(
        'limit' => 10,
        'range' => 'last30days'
    ));
    $popular_posts = $query->get_posts();
    wp_cache_set($cache_key, $popular_posts, '', 3600); // 1時間キャッシュ
}

5. よくある問題と解決方法

5.1 view数が正しくカウントされない

  • データベースのパーミッション設定を確認
  • キャッシュプラグインとの競合をチェック
  • サーバーのログ設定を確認

5.2 表示が遅い

  • クエリの最適化
  • キャッシュの導入
  • 画像の最適化
  • 必要最小限の投稿データのみを取得

まとめ

WordPress Popular Postsプラグインは、適切なカスタマイズによって、サイトの回遊率向上に大きく貢献できます。パフォーマンスとユーザビリティのバランスを考慮しながら、サイトに最適な実装を選択することが重要です

参考サイト

人気記事ランキング
話題のキーワードから探す