概要

これはWordPressにGoogle Analyticsのデータと同期してランキングを表示させるプラグインです。
WordPressのDBにランキングデータを貯めないため非常に軽量に動きます。

インストール

Simple GA Rankingはwordpress.orgにホストしています。以下よりインストールしてください。

wordpress.org

セットアップ

  1. Simple GA RankingをあなたのWordPressにインストールしてください
  2. /wp-admin/options-general.php?page=gapiwp-analyticsからOauth2の設定を行います。以下の動画に手順を説明しています。
  3. /wp-admin/options-general.php?page=sga_rankingからパラメータの設定を行ってください。.
  4. Simple GA Ranking ウィジェット[sga_ranking] ショートコードsga_ranking_get_date() 関数を使用してあなたのサイトにランキングを表示してください。

関数

このsga_ranking_get_date()関数はランキング結果の投稿IDを配列で返します。ランキングを表示させたいテーマ内の箇所にこの関数を配置してください

パラメータ

<?php 
array(
    'display_count'           => 10,
    'period'                  => 30,
    'post_type'               => 'post',
    'exclude_post_type'       => '',
    '`taxonomy_slug`__in'     => '',
    '`taxonomy_slug`__not_in' => '',
    'filter'                  => ''
);
?>

Sample Code 1 : オーソドックスにランキングを表示させる例です
<?php 
if (function_exists('sga_ranking_get_date')) {
    $ranking_data = sga_ranking_get_date();
    if ( !empty( $ranking_data ) ) {
        echo '<ol>';
        foreach ( $ranking_data as $post_id ) {
            echo '<li><a href="' . esc_attr(get_permalink($post_id)) . '">' . esc_html(get_the_title($post_id)) . '</a></li>';
        }
        echo '</ol>';
    }
}
?>
Sample Code 2 : 投稿のnewsカテゴリにのみ絞ってランキングを表示します
<?php
$args = array(
    'display_count' => 10,
    'period'        => 30,
    'post_type'     => 'post',
    'category__in'  => 'news'
);
$ranking_data = sga_ranking_get_date($args);
?>
Sample Code 3 : URLに/en/が含まれているもののみに絞ってランキングを表示します
<?php
$args = array(
    'display_count' => 10,
    'period'        => 30,
    'post_type'     => 'post,page',
    'filter'        => 'ga:pagePath=~^/en/'
);
$ranking_data = sga_ranking_get_date($args);
?>

ショートコード

あなたがランキングを表示させたい箇所に[sga_ranking]ショートコードを設置してください。

パラメータ

sga_ranking_get_date 関数と同じパラメータが指定可能です。

フック

いくつかのフックをプラグインから提供しています。これを元にカスタマイズを行うことが可能です。

フィルターフック

Sample Code 1 :キャッシュの有効期間を12時間に更新します
<?php add_filter( 'sga_ranking_cache_expire', function($expire) { return 12*60*60; } ); ?>
Sample Code 2 :GAからのデータ取得件数を200件に更新します
<?php add_filter( 'sga_ranking_limit_filter', function($limit) { return 200; } ); ?>

Share

Google+