ずっとプラグインを使用しないでポピュラーポスト(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, WordPress, カスタマイズ, カスタマイズ, 伝えたいこと, 備忘録」同じカテゴリーの記事一覧
あなたにおすすめ
インターネット セキュリティ 伝えたいこと 備忘録 時事ネタ
三井住友銀行から【必ずご確認ください】「入出金規制」メール・SMSは詐欺です。メール
先日、三井住友銀行からメールにて上記タイトル「【必ずご確認ください】「入出金規制」メール・SMSは詐欺です」というメールが送信されてきました。SMSは送られてきていませんが、SMSにもどうやら同様の内…
インフィード広告アドセンス
平成になって何日目?今日でちょうど10000日目記念日!!
今は日本の元号では平成です。昭和から平成になった日が1989年1月8日です。私はまだまだ思春期になる頃か少しだけ手前だった頃のことです。あれからもうなんと10000日が経ったとは…。平成生まれの子達が…
インフィード広告アドセンス
前澤友作さんSNSでの詐欺広告の被害にFacebookやInstagramやThreadsで詐欺被害に合われた方々へその状況の提供を求めています
大手企業のFacebookは社名をメタと変更しましたがサービス名はFacebookのままです。イーロン・マスク氏がTwitterを買収してからAPIの仕様変更や改悪?とも取れるようなサービス内容の変更…
インフィード広告アドセンス
Stinger6 Stinger7 WordPress カスタマイズ カスタマイズ 伝えたいこと 備忘録
WordPressアイキャッチ画像を自動で投稿記事に表示する方法
いまやブログにおいてアイキャッチ画像は無くてはならない存在になりつつあります。 特にWordPressにおいては、基本的にアイキャッチ画像を設定することが出来るようになっているテーマがほとんどです。 …
インフィード広告アドセンス
Stinger6 WordPress カスタマイズ テーマ 不具合
また右サイドバー上にWidgetLogicで設定したのに表示されない
前回、 右サイドバー上部にStinger6(Stinger5でもほぼ共通)でWidgetLogicプラグインにて異なる広告が表示されるように設定したのに、 なぜか表示される記事とされない記事があるのは…
インフィード広告アドセンス
おすすめの記事一部広告
- エクストレイルでカーテシランプ新設、増設取り付け方法4
- キッチンシンク下がドブ臭い下水臭い原因と解決方法4
- エクストレイルおすすめエンジンオイルにプロステージSの10W-40を試してみた3
- ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法3
- WordPressプラグインなしでコンタクトフォームを作成方法3
- ECUをリセットする方法。アイドリング不安定だったのでしょうがなく2
- ノートPCファンの異音でLIFEBOOKAH77/E分解2
- ステアリング交換とステアリングスイッチの増設と外し方後期型仕様に2
- アイドリングストップシステム異常警告灯表示対処方法2
- タイロッド調整、サイドスリップ調整でトーイン・アウト調整2
Multiplex 広告
おすすめ!!
世界中でNo.1のシャアを誇るAmazonでのお得なお買い物でお得をしよう!!ネット通販なので、もちろん24時間年中無休です。健康商品から食品、車カスタマイズ商品、大手家電メーカー商品やパソコンの自作サプライ商品、その他アマゾン・プライムでは映画やドラマなど多くの作品や番組を見ることができます。マスクなど衛生商品も今では必須アイテム。一番信用できて一番商品数の多いAmazonでの買い物が絶対にオススメ!!
Googleニュース
2024-04-30
車との衝突事故がとくに多い動物として、シカが挙げられます。北海道警察の発表によれば、2023年中に起きた道内のエゾシカ関連事故は5,287件あり、そのうち死亡 ...
アドセンス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