データサイエンティストハトリのブログ

PythonとインテリジェントクラウドとAIが好きな学生エンジニア。データ分析、スクレイピング、就職活動などについて書いていきます。

Simple GA Rankingを使ってsga_ranking_get_dateで特定投稿記事を除外して10記事をランキング表示させる方法

f:id:hatorihatorihatorik:20180914211709p:plain

Simple GA Rankingを使って投稿記事をランキング表示させていきました。特定投稿記事を除外した状態で10記事をランキング表示させる方法はないものかと調べていたところ、こちらのサイトを参考にしました。

 

www.starlink.jp

 

やり方としては、除外したい記事にカテゴリをつけそのカテゴリを除外する、という手法をとっていきます。

カテゴリづけが終わり、カテゴリIDが取得できたら下記コードをコピペで完了です。

 

<ul>
<?php if (function_exists('sga_ranking_get_date')) { ?>
<?php
$ranking = sga_ranking_get_date();
$args = array(
'post__in' => $ranking,
'posts_per_page' => 10,
'orderby' => 'post__in',
'ignore_sticky_posts' => true,
'post_type' => 'any',
'cat' => array(//除外したいカテゴリのIDを入れる),
);
$my_query = new WP_Query($args);
?>
<?php if($my_query->have_posts()): ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>">
<div class="ranking_data clearfix">
<div class="ranking_data_image">
<?php
if (has_post_thumbnail()) {
echo '<img src="' . the_post_thumbnail('thumbnail', array( 'alt' =>'' )) . '" alt="" width="100" height="50">';
}
else {
echo '<img src="' . get_stylesheet_directory_uri() . '/images/noimage.png" width="100" height="50">';
}
?>
</div>
<div class="ranking_data_content">
<?php
$title_text = get_the_title();
if (mb_strlen($title_text) > $text_max_length) {
$title_text = mb_substr($title_text,0,$text_max_length) . '..';
}
echo $title_text;
?>
</div>
</div>
</a>
</li>
<?php endwhile; ?>
<?php endif; ?>
<?php } ?>
</ul>