ずっとプラグインを使用しないでポピュラーポスト(Popular Post)ランキングを表示したいと考えていました。有名所のプラグインではWordPress Popular PostsやPost Viewというものを使って人気記事をランキング化することができます。しかし、プラグインを使用すればする程サイト自体が重くなってしまいます。10個くらいまでなら大丈夫かもしれませんがサーバやプラグインの種類にもよります。できる限りプラグインを使用しない方法でできることはしていくようにしたいですですよね。(人によるかもしれませんが・・・。)
php WordPress カスタマイズ カスタマイズ 伝えたいこと 備忘録
プラグインなしで人気記事ランキング表示方法(とりあえず簡単な方法と詳細方法)
所要時間目安:約3分
この記事は2021年9月28日のものです。現在は状況が異なる可能性がありますのでご注意ください。
php WordPress カスタマイズ カスタマイズ 伝えたいこと 備忘録
最も簡単にプラグインを使わずに人気記事をランキング化する方法は以下になります。
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」は使わないほうが吉のようです。
ちょっと時間がないのでとても勉強になるサイトなので掲載だけさせて頂きます。
参考にさせて頂きます。ありがとうございます。
あなたにおすすめな関連記事
ブログ集客力とアクセス数を増やす方法の記事とは?
誰もが、自分でブログやホームページなどのサイトを作成したのなら誰かに見ていただきたいという気持ちがあると思われます。 そのアクセス数ははじめはほとんどないような状態から徐々に記事やサイト内の充実を図る…
インフィード広告アドセンス
PHPバージョン5.5に設定変更方法
WordPressで使われているphpというものがあります。 これにもバージョンがあるらしく、 現状私が利用させていただいているサーバーのバージョンは5.5ではなく5.2.17でした。 そして、 Fa…
インフィード広告アドセンス
AFFINGER4Pro WordPress 不具合 伝えたいこと 備忘録
AFFINGER4でのDeprecated:Non-static method WPblogAdProp::setAd1()
Deprecated: Non-static method WPblogAdProp::setAd1() should not be called statically in /home/infova…
インフィード広告アドセンス
STINGER PLUS+ Stinger6 Stinger7 WordPress カスタマイズ 伝えたいこと 備忘録
サイドバーのウィジェットにタイトルを表示させずに追加する方法
テーマにもよりますが、サイドバーにデフォルト(はじめから)で追加されている状態のウィジェットがあると思います。 もちろん、サイドバーにウィジェット追加用に多くのテーマは作られていると思います。 ですが…
インフィード広告アドセンス
WordPress投稿にクイックタグを登録方法。
早速ですが、 クイックタグ登録してみた。 テキストエディタにした時に、 いくつかボタン表示にてタグが登録されていました。 それを辿ってfunction.php内でクイックタグの部分を探して、 同じよう…
インフィード広告アドセンス
php, WordPress, カスタマイズ, カスタマイズ, 伝えたいこと, 備忘録」同じカテゴリーの記事一覧
おすすめの記事一部広告
- ECUをリセットする方法。アイドリング不安定だったのでしょうがなく4
- ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法3
- 車のキーナンバー確認方法。キーレス紛失や壊れた時3
- アルミテープチューン貼る場所で燃費向上と走行性能アップTOYOTAの特許を試してみた3
- エクストレイルT32運転席側バイザーメッキモール剥がれ修復方法とオススメ両面テープ3
- エクストレイルT32おすすめラジエターキャップ純正品番3
- カーメイトのエンジンスターターでエラー15表示と対処方法2
- エクストレイルフォグランプが下を向きすぎている光軸調整方法2
- アイドリングストップシステム異常警告灯表示対処方法2
- エクストレイルT32マイナーチェンジ後ステアリング外し方2
Multiplex 広告
おすすめ!!
世界中でNo.1のシャアを誇るAmazonでのお得なお買い物でお得をしよう!!ネット通販なので、もちろん24時間年中無休です。健康商品から食品、車カスタマイズ商品、大手家電メーカー商品やパソコンの自作サプライ商品、その他アマゾン・プライムでは映画やドラマなど多くの作品や番組を見ることができます。マスクなど衛生商品も今では必須アイテム。一番信用できて一番商品数の多いAmazonでの買い物が絶対にオススメ!!
アドセンス336pxPC閲覧記事下表示1つ目コード
よろしかったらシェアよろしくお願いします。
- X
Deprecated: Automatic conversion of false to array is deprecated in /home/variouspress/infovarious.com/public_html/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2924
Twitter - Share
Deprecated: Automatic conversion of false to array is deprecated in /home/variouspress/infovarious.com/public_html/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2921
Share - Pocket
Deprecated: Automatic conversion of false to array is deprecated in /home/variouspress/infovarious.com/public_html/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2921
Pocket - Hatena
Deprecated: Automatic conversion of false to array is deprecated in /home/variouspress/infovarious.com/public_html/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2921
Hatena
-php, WordPress, カスタマイズ, カスタマイズ, 伝えたいこと, 備忘録
このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。
comment