in Code, WordPress

Simple GA Rankingの関数を使ったカスタマイズで特定の記事を除外する


Simple GA Rankingの関数を使ったカスタマイズで特定の記事を除外する方法です。
配列でオプションを渡すと表示する記事数やカテゴリー・タクソノミーの除外をすることができます。

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

ショートコードで特定のURLを除外する方法はすぐ見つかったのですが、出力結果をいじりたかったりテーマをカスタマイズしている場合には使いずらかったので、他の方法を探してみました。
下記のコードでは表示を10件にし、https://susu.mu/newsのURLをすべて除外する事ができます。

Google Analytics APIの仕様どおりにfilterパラメータを指定すると特定のURLの記事を除外できます。

<?php
$args   = array(
	'display_count' => 10,
	'filter' => 'ga:pagepath!=/news',

);
$ranking_data = sga_ranking_get_date( $args );
if ( function_exists( 'sga_ranking_get_date' ) ) {
	if ( ! empty( $ranking_data ) ) { ?>
		<section>
			<header>
				<h1>人気記事ランキング</h1>
			</header>
			<div>
				<?php foreach ( $ranking_data as $post_id ) {
					set_query_var( 'post_id', $post_id );
					get_template_part('template-parts/loop','ranking');
				} ?>
			</div>
			<div class="readmore"><a href="/ranking"><span>人気記事ランキングをもっと見る →</span></a></div>
		</section>
	<?php
	}
}
endif;
?>

関連リンク

コメントを書く

Comment

CAPTCHA