ずっとプラグインを使用しないでポピュラーポスト(Popular Post)ランキングを表示したいと考えていました。有名所のプラグインではWordPress Popular PostsやPost Viewというものを使って人気記事をランキング化することができます。しかし、プラグインを使用すればする程サイト自体が重くなってしまいます。10個くらいまでなら大丈夫かもしれませんがサーバやプラグインの種類にもよります。できる限りプラグインを使用しない方法でできることはしていくようにしたいですですよね。(人によるかもしれませんが・・・。)
スポンサーリンク
最も簡単にプラグインを使わずに人気記事をランキング化する方法は以下になります。
function.phpに以下コードを記載します。
※function.phpをいじるので必ずバックアップをとってから行ってください。
// 人気記事出力用関数
function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count.' Views';
}
// 記事viewカウント用関数
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
上記コードを追記しその後は自分が表示させたいテンプレート部分の好きなところに以下コードを記載することで、指定した記事数のみが表示されます。
<?php
// views post metaで記事のPV情報を取得する
setPostViews(get_the_ID());
$args = array(
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'posts_per_page' => 5 // ← 5件取得
);
// WP_Queryによるループ
$query = new WP_Query($args);
if ($query->have_posts()) :
while ($query->have_posts()) :
$query->the_post();
?>
<!-- サムネイルの表示 タイトルの表示 -->
<div>
<a href="<?php the_permalink(); ?>">
<?php if ( has_post_thumbnail() ) { the_post_thumbnail( 'post-thumbnail'); } ?>
<p>
<?php the_title(); ?>
</p>
<?php echo getPostViews(get_the_ID()); // 記事閲覧回数表示 ?>
</div>
<?php
endwhile;
endif;
wp_reset_postdata();
?>
参照サイト)
元は上記サイトですが、
もう少しいくつかのサイトを拝見させていただきました。
参照サイト2)
より正確に表示させたい場合には以下のサイトがとても参考になります。
正確にカウントして記事ランキングを表示させたい場合には以下の方法をおすすめします。
サイトのみ掲載させて頂きます。
こちらのサイトは、かなり確実にプラグインを使わずに人気記事ランキングを定期的にリセットして表示させることができます。
もう少し上達してきた時に、挑戦させていただこうかと思っています。
興味のある方はお試ししてみてください。
追記)さらに最新版のサイトを参考にさせていただこうかと思っています。
現在は、「query_posts」は使わないほうが吉のようです。
ちょっと時間がないのでとても勉強になるサイトなので掲載だけさせて頂きます。
参考にさせて頂きます。ありがとうございます。
関連記事
-
ブログSEO対策方法など気にせずやっていきたいけれど気になっちゃう…。
ブログやホームページなどを運営していく中で、誰もが気にしたことがあると思われるSEO…。俗にいうサーチエンジン対策があると思います。(正式には、Search Engine Optimization:サ…
-
AFFINGER4Pro Stinger6 WordPress カスタマイズ 伝えたいこと 備忘録
テーマ変更の楽な方法はない!?
アイキャッチ画像:AFFINGER4公式HP(https://the-money.net/)のスクリーンショットです。 この度、昨今ちまたでものすごく有名なWordPressのテーマAFFINGER4…
-
WordPress カスタマイズ カスタマイズ 伝えたいこと 備忘録
YouTube動画が遅い。重い時、掲載しても遅くならない方法
すごいっ!! YouTubeの動画をブログに貼り付けても重くならない・遅くならない方法があったなんて…。 WordPressでも応用可能かと思って試してみました。 たぶん、多くのテーマでも可能なのでは…
「php, WordPress, カスタマイズ, カスタマイズ, 伝えたいこと, 備忘録」同じカテゴリーの記事一覧
おすすめの記事一部広告
comment