私たちの記事の最後にスクロールしたことがあるなら、おそらく「WPBeginnerで今人気!」ウィジェットに気づいたことがあるでしょう。この機能は読者に好評で、最も価値のあるコンテンツを発見するのに役立ち、さらに多くのサイトを探索することを奨励しています。
最も人気のあるWordPressブログ投稿を強調表示することで、読者が最高のコンテンツを見つけるのを助けるだけでなく、サイトのエンゲージメント指標も向上させます。訪問者は素晴らしいコンテンツを得られ、あなたは彼らをより長くサイトに留めることができるため、まさに一石二鳥です。
この記事では、WordPressで表示回数に基づいて最も人気のある投稿を簡単に表示する方法を説明します。

WordPressで表示回数に基づいて人気投稿を表示する理由
ユーザーが最も人気のあるWordPressブログ投稿を見ると、他の読者が最も気に入っているコンテンツを発見できます。このようにして、それらの記事をチェックして会話に参加できます。
さらに、WordPressで最も人気のあるコンテンツを表示すると、ソーシャルプルーフを高めることができます。新しいユーザーに「他の人もこれらの投稿が非常に役立つと感じており、あなたもそうかもしれません!」と伝えるようなものです。

最後に、トレンドのブログ投稿を表示することで、ユーザーはウェブサイトに長く滞在するようになり、ページビューを増やし、直帰率を減らすことができます。
ユーザーエンゲージメントが高まるほど、Googleはあなたのコンテンツを優れて重要だと判断します。その結果、WordPress SEOが向上し、サイトのランキングがより高くなります。
残念ながら、WordPressにはページビュー数で最も人気のある投稿を表示するための組み込み機能やブロックはありません。このガイドでは、プラグインとコードを使用してまさにそれを行う方法を説明します。
好みの方法に直接ジャンプするには、以下のクイックリンクのいずれかをクリックしてください。
方法1:MonsterInsights で閲覧数による人気WordPress記事を表示する(推奨)
WordPressで閲覧数が多い人気の投稿を表示する最も簡単な方法は、プラグインを使用することです。実際、多くのWordPressの人気投稿プラグインがありますが、私たちの意見では、最良の選択肢はMonsterInsightsです。

世界中の300万以上のウェブサイトで使用されているMonsterInsightsは、WordPress向けの最高のGoogleアナリティクスプラグインです。主な機能は分析ですが、最も人気のある投稿を表示するユーザーフレンドリーな機能も備えています。
まず最初に、MonsterInsightsプラグインをインストールし、Google Analyticsアカウントに接続する必要があります。詳細については、初心者向けWordPressでのGoogle Analyticsのインストール方法に関するステップバイステップガイドをご覧ください。
注意: MonsterInsightsの無料版は利用可能ですが、人気投稿機能が含まれているため、ここではPro版を使用します。
人気の投稿ウィジェットを選択 テーマ
プラグインをアクティブ化して設定したら、WordPressダッシュボードから**[Insights] » [Popular Posts]**に移動します。次に、[Popular Posts Widget]メニュー項目をクリックします。

下にスクロールすると、人気の投稿ウィジェットを表示するテーマを選択する必要があります。さまざまなオプションがあります。
一部の投稿にはアイキャッチ画像が含まれていますが、よりミニマルなものもあります。

選択する前にテーマの外観を確認したい場合は、ページを下にスクロールして「テーマプレビュー」セクションに移動してください。
テーマをワイドまたはナロー形式でプレビューすることもできます。ワイド形式では、ページまたは投稿コンテンツの下に投稿が表示されますが、ナロー形式ではサイドバーのように右側に投稿が表示されます。

次に、「デザインのカスタマイズ」セクションまでスクロールしましょう。ここでは、テーマの色、フォントサイズ、レイアウト、表示する投稿数を変更できます。
ここでのカスタマイズオプションは、使用しているテーマによって異なる場合があります。したがって、さまざまなテーマを探索して、最適なテーマを確認してください。

人気投稿ウィジェットの動作を設定する
テーマのデザインを設定したら、[Behavior]セクションに移動する必要があります。ここで、人気投稿ウィジェットがWordPressウェブサイトにどのように表示されるかを制御します。
ウィジェットのスタイリング設定では、上記で作成したデザインを使用するか、ウィジェットに全くスタイルを適用しないかを選択できます。後者のオプションを選択すると、ウィジェットはWordPressサイトのテーマのCSSに従います。
次に、ウィジェットが最も人気のある投稿をどのように選択するかを選択できます。このチュートリアルでは「キュレート」を選択しますが、コメント数に基づいて最も人気のある投稿を表示することもできます。

次に、以下の「Google Analyticsからトップ5の投稿を追加」オプションを有効にする必要があります。ただし、それを行う前に、MonsterInsights Dimensions Add-Onを入手し、投稿タイプを新しいカスタムディメンションとして追加する必要があります。
これにより、MonsterInsights は Google Analytics のデータに基づいて最も人気のある投稿を選択できるようになります。
これを行うには、MonsterInsights Dimensions Add-onをダウンロードし、WordPressのプラグインとしてインストールする必要があります。手順については、WordPressプラグインのインストール方法のガイドをご覧ください。
次に、**インサイト »** **設定**に移動し、「コンバージョン」タブに切り替えます。その後、「新しいカスタムディメンションを追加」をクリックします。

それが完了したら、ドロップダウンメニューで「投稿タイプ」を選択します。
これにより、MonsterInsights はブログ記事やその他のカスタム投稿タイプのパフォーマンスを追跡できるようになります。

次に、インサイト » 人気の記事に戻り、「人気記事ウィジェット」に移動します。
「Google Analyticsからトップ5の投稿を追加」トグルボタンをアクティブにするだけです。次に、「自動投稿のテスト」をクリックして、セットアップが成功したかどうかを確認します。

はいの場合、成功メッセージのポップアップが表示されます。
次のように表示されるはずです。「人気の投稿データは正しく取得できます。注意:カスタムディメンションの設定をいつ行ったかによって、関連する人気の投稿データがGoogleアナリティクスから読み込まれるまで最大7日かかる場合があります。」

次のステップに進み、ウィジェットの上に表示されるタイトルを追加できます。「おすすめの人気投稿を見る」のようなものや、その他の類似したものでも構いません。
その下では、ウィジェットをすべての投稿タイプに表示するか、特定の投稿から除外するか、特定の投稿カテゴリにのみ表示するかを選択できます。
これらの設定は、ブログ記事以外のカスタム投稿タイプを作成した場合に、人気の投稿ウィジェットがそこに無関係に見えると感じる場合に役立ちます。

最後のステップの1つは、人気投稿ウィジェットを埋め込むことです。いくつかのオプションがあります:自動的に配置する、Gutenbergブロックを使用する、サイドバーウィジェットとして追加する、またはショートコードを使用する。
各オプションを順番に見ていきましょう。

人気投稿ウィジェットを自動的に埋め込む
自動配置は、以前に設定した行動設定に一致するすべての投稿にウィジェットを表示したい場合に推奨されます。
これを行うには、自動配置ボタンを有効にするだけです。

このオプションの欠点は、投稿やページに最適なデザインに基づいてウィジェットのデザインを調整できないことです。この種の機能が必要な場合は、次の方法を試すことができます。
人気の投稿ブロックをページまたは投稿に埋め込む
ページや投稿でのウィジェットの外観をより細かく制御したい場合は、この方法が適しています。
まず、ウィジェットを表示したい投稿またはページの ブロックエディターに移動します。次に、エディター内のどこでも「+」ブロック追加ボタンをクリックし、Popular Postsブロックを探します。

ブロック設定パネルでは、ウィジェットのテーマ、フォントサイズ、色、タイトル、レイアウト、投稿数を変更するオプションが表示されます。
これらの設定は、MonsterInsightsプラグインで見られたものと同様です。

唯一の違いは、ウィジェットでどの投稿が選択されるかを変更できないことです。
それでも、[動作設定]では、特定のカテゴリの投稿のみを表示することができます。このようにして、人気のある投稿の選択をニーズに合わせてより細かく調整できます。

ブロックの設定に満足したら、投稿やページの編集画面にある「更新」ボタンをクリックするだけです。
テストウェブサイトでの人気投稿ブロックは以下のようになります。

人気投稿ウィジェットをサイドバーに埋め込む
ウィジェット対応のサイドバーエリアを持つブロックテーマ以外のWordPressテーマを使用している場合、そこに人気記事ウィジェットを追加できます。これは、私たちのWordPressサイドバーに注目の記事を追加する方法の記事で行ったことです。
やるべきことは、外観 » ウィジェットに移動することです。次に、サイドバーエリアの「+」ウィジェット追加ボタンをクリックし、「人気投稿 – MonsterInsights」ウィジェットを探します。

前の方法と同様に、ウィジェットにはテーマの外観をカスタマイズするための同様の設定が含まれています。
違うのは、インターフェースが少し使いにくいことです。設定を変更しても、ウィジェットが実際にどのように見えるかを確認できません。プレビューするには、別のウィジェットまたは別の領域をクリックする必要があります。
ウィジェットの外観に満足したら、右上にある「更新」をクリックしてください。

サイドバーが正しく表示されているか、ウェブサイトで確認してください。
私たちのサイトは以下のようになっています:

Popular Posts ウィジェットを特定のページにのみ表示したい場合は、特定のWordPressページにウィジェットを表示または非表示にする方法に関するガイドを参照してください。
ショートコードで人気投稿ウィジェットを埋め込む
最後のオプションはショートコードを使用することです。上記のオプションが特定のユースケースで機能しない場合は、この方法をお勧めします。
人気の投稿ウィジェットタブで、「埋め込みオプション」セクションまでスクロールします。次に、「ショートコードを使用して表示」を選択し、「ショートコードをコピー」ボタンをクリックします。

その後、ショートコードを好きな場所に配置するだけです。詳細については、WordPressでのショートコードの追加方法に関するガイドをご覧ください。
方法2:コードで人気のWordPress投稿を表示する(より高度)
MonsterInsightsの方法は、WordPressで最も人気があり、閲覧数の多い最高のコンテンツを表示する最も簡単な方法です。しかし、コーディングに慣れている場合は、コードを使用して最も人気のあるWordPress投稿を表示することもできます。
この方法では、このガイドで使用する WPCode のようなコードスニペットプラグインの使用をお勧めします。

WPCodeを使用すると、WordPressファイルに直接触れることなく、カスタムコードを挿入することが安全に行えます。さらに、この方法では複数のコードスニペットを使用する必要があるため、プラグインですべての管理と追跡がはるかに簡単になります。
まず、WordPressにWPCodeをインストールする必要があります。WPCodeの無料バージョンも利用可能ですが、コードを正しい場所に挿入するために必要な機能が搭載されているProバージョンを使用します。
ステップバイステップのインストールガイドについては、WordPress プラグインのインストール方法に関する記事をお読みください。
WordPress投稿ビューカウンター機能を追加
プラグインをアクティベートしたら、ダッシュボードからCode Snippets » + Add Snippet に移動する必要があります。次に、「Add Your Custom Code (New Snippet)」にカーソルを合わせ、「+ Add Custom Snippet」をクリックします。

これで、WPCodeコードスニペットエディター内にいます。コードを挿入する前に、スニペットにタイトルを追加してください。
この最初のコードには、「WordPress投稿ビューカウンター関数」のような名前を付けることができます。これは、この最初のコードの目的がWordPressで投稿ビューをカウントする関数を作成することだからです。
次に、コードタイプを「PHPスニペット」に変更します。この記事から追加するすべてのコードスニペットはPHPであることを覚えておいてください。

その後、以下のコードをコピーして貼り付けることができます。
function wpb_set_post_views($postID) {
$count_key = 'wpb_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);
}
}
//Get rid of prefetching to keep the count accurate
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
次に、「挿入」セクションまでスクロールし、挿入方法で「自動挿入」、場所で「すべて実行」を選択します。これは、コードをテーマのfunctions.phpファイルに挿入するのと同じように機能します。
その後、ページの右上隅に移動して、コードをアクティブにします。
次に、「スニペットを保存」をクリックします。

この段階で、別の新しいカスタムコードスニペットを追加する必要があります。このスニペットには「投稿表示回数関数呼び出し」という名前を付けることができます。
このコードは上記の関数を呼び出し、単一投稿ページでアクティブにします。
それが完了したら、次のスニペットをコピーして貼り付けてください:
wpb_set_post_views(get_the_ID());
このコードスニペットの違いは、単一の投稿ページで実行されるため、場所として「投稿の後で挿入」を選択することです。

完了したら、コードをアクティブにして保存してください。
WordPress投稿ビューのトラッキングフックを挿入
次に、現在のページが単一の投稿であるかどうかを確認する新しいコードスニペットを追加する必要があります。もしそうであれば、WordPressの投稿表示回数カウンター関数を呼び出して、投稿の表示回数を追跡および更新します。
この方法で、ユーザーが投稿を訪問するたびに、その閲覧数が更新されます。
このスニペットに「WordPress投稿ビュー追跡フック」という名前を付けます。次に、次のコード行を挿入します。
function wpb_track_post_views ($post_id) {
if ( !is_single() ) return;
if ( empty ( $post_id) ) {
global $post;
$post_id = $post->ID;
}
wpb_set_post_views($post_id);
}
add_action( 'wp_head', 'wpb_track_post_views');
挿入方法を「自動挿入」、場所を「フロントエンドのみ」として選択できます。
前の手順と同様に、コードをアクティブ化してスニペットを保存してください。

注意: もしあなたが キャッシュプラグイン を使用している場合、このテクニックはデフォルトでは機能しない可能性があります。W3 Total Cacheのような一部のキャッシュプラグインが提供するフラグメントキャッシュ機能を使用して、機能させることができます。
投稿ビュー数を取得し、表示回数付きの人気投稿を表示する関数を追加する
このガイドの最終段階に入りました。特定のWordPress投稿のビュー数を取得してフォーマットするコードスニペットを追加する必要があります。これは、後で最も閲覧された投稿のリストを表示する際に役立ちます。
このコードを「投稿ビュー数取得関数」と名付け、場所を「どこでも実行」に設定できます。
コードスニペットはこちらです。
function wpb_get_post_views($postID){
$count_key = 'wpb_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';
}
再度、WPCodeでコードをアクティブにし、保存することを忘れないでください。
それが完了したら、新しいコードスニペットを再度作成し、「表示回数付きの人気投稿を表示」と名付けます。これは、ブログ投稿の下部に最も人気のある投稿を表示するコードです。
コードプレビューボックスに、次のスニペットを挿入します。
// Customize the query parameters as needed
$popularpost = new WP_Query( array(
'posts_per_page' => 3, // Feel free to adjust the number of posts to display
'meta_key' => 'wpb_post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
));
?>
<div class="popular-posts">
<h2>See Our Most Popular Posts</h2> <!-- Feel free to customize the title -->
<ul>
<?php while ( $popularpost->have_posts() ) : $popularpost->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
- <?php echo wpb_get_post_views(get_the_ID()); ?>
</li>
<?php endwhile; ?>
</ul>
</div>
<?php wp_reset_postdata();
コードに記載されているように、表示する投稿数は自由に調整し、このセクションのタイトルをカスタマイズしてください。
WPCode挿入セクションで、場所として「投稿の後で挿入」を選択してください。次に、コードをアクティブにしてスニペットを保存します。
あとは、ブログ記事のいずれかにアクセスしてコードが機能するかどうかを確認するだけです。以下は、テスト用のWordPressブログで閲覧数による人気記事セクションがどのように表示されるかです。

専門家のアドバイス: コーディング経験がない場合でも、さらにコードをカスタマイズしたい場合は、WPCodeのAIコードジェネレーターを使用して支援を受けることができます。この機能は、既存のコードを正確なニーズに合わせて編集できます。
詳細については、WPCode の完全レビューをご覧ください。
動画チュートリアル
視覚的な指示をご希望の場合は、以下のチュートリアルのビデオ版をご覧ください。
このWordPressチュートリアルで、表示回数に基づいて人気の投稿を表示する方法を学んでいただけたなら幸いです。また、WordPress向けのおすすめの関連記事プラグインや、コンバージョン率の高いランディングページとは何かについての記事もぜひご覧ください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。


Bigdragon13th
こんにちは。
このコードを数ヶ月間使用しており、素晴らしい結果が出ていました!しかし、W3 Total Cacheを使い始めたところ、このコードがビューをカウントしなくなりました。
キャッシュと連携させるためにmfuncをどこに配置する必要があるのか、行き詰まっています。教えていただけますか?
参考までに、すべてのコードをサイト固有のプラグインに入れました。
AJ
これは素晴らしいですね!サイドバーのように、投稿ループの外でビューカウントを表示するにはどうすればよいですか?
レスリー
こんにちは、設定に関していくつか問題があります。ログインユーザーがページを閲覧する際にカウントに含まれないようにするにはどうすればよいですか?どうすればよいですか?助けが必要です。ありがとうございます。
Sarah
Hey there, thanks for this. REALLY helpful!! Would you know how to apply a time range to this code? For example to show the most popular posts in the last day, week or month etc? I know there are plugins for this but I would like to do it without one
Dale Knight
素晴らしい!
デニス
こんにちは。
この素晴らしいチュートリアルをありがとうございます。私のページで動作しました!
– ロボットやスパイダーが私の投稿にアクセスするのを除外するにはどうすればよいですか?
– 10秒のタイマーを設定できるかもしれません。その後、カウントが増加します。これにより、投稿をただクリックするだけの人はカウントされません。
よろしくお願いいたします。
デニス
Sarah
You have no idea how much time you saved me. Thank you, works perfectly!
クレイ・ヒックマン
ヒントをありがとうございます。使用します。
Jenni B
こんにちは – ありがとうございます!W3TCの回避策に関する質問に気づきましたが、少し異なる質問があります。functions.phpからwp_headにフックしている場合、それはまだ適用されますか?もしそうなら、そこでどのように実装すればよいですか?ありがとうございます!
rafi
これは本当に簡単でとても役立ちます!ありがとう!
コスモス
こんにちは、このスニペットをありがとうございます。
問題があります、orderbyが機能しません。投稿が5つあります:
– ポスト1:85ビュー
– ポスト2:35ビュー
– ポスト3:165ビュー
– ポスト4:1ビュー
– ポスト5:1ビュー
表示したところ、順序は次のようになりました:1、2、4、5、3
何かアイデアはありますか?
Raj
整数型の問題かもしれません..
Iftekhar
貴殿の記事を拝見した後、6ヶ月間サイトで投稿ビュー数を活用しています。以前は問題なく動作していましたが、最近この件で問題が発生しています。訪問者が投稿を閲覧するとカウントは1つずつ増加しますが、問題は他のすべての投稿でもカウントが増加してしまうことです。W3 Total Cacheをインストールしており、貴殿の記事に従ってmfuncを使用しています。この問題について何かご存知でしたら、どうか助けてください…よろしくお願いします。
WPBeginnerサポート
Iftekhar、w3 total cacheをオフにしたときに何が起こるか確認できますか?
管理者
Iftekhar
The problem seems to w3. Post view count is OK since deactivated. But I want to use both of them
ivan
こんにちは。
プラグインの使用をやめたいと思っています。なぜなら、ポリラング言語をサポートしていないからです(作者からの返信がなく、プラグインの関数をフィルタリングできるかどうかもよくわかりません)。
2つの質問があります:
– コードを少し調べましたが、このコードは実装された時点から投稿のカウントを開始するのでしょうか?それとも、現在の投稿カウントを何らかの方法で取得するのでしょうか?
– このウェブサイトの現在のコードはget_posts()関数を使用しているため、WP_Query()を使用する代わりにargs配列を作成しています。これは同じことですか?そうではないと思います。もしそうでない場合、配列を取得するために以下のコードは正しいですか?実装してみましたが、うまくいかないようです。
$args = array( ‘meta_key’ => ‘wpb_post_views_count’, ‘orderby’ => ‘meta_value_num’, ‘order’ => ‘DESC’,’numberposts’ => 6, ‘post_status’=>”publish”,’post_type’=>”post”,’lang’ => ‘en’);
ありがとうございます!
Tomas
このアプローチは非常に基本的です。同じユーザー(同じIP)からのクリックを5分または10分ごとにカウントしたい場合は、別のテーブルを用意する必要があります。データベースに新しい行を追加する前に、IPと時間を確認する必要があります。3分前に保存されたレコードがある場合、クリックは追加されません。それ以外の場合は追加されます。また、このアプローチにより、7日間、1ヶ月、すべてなどの期間で最も表示された記事のカスタムリストを作成できます。または、カテゴリ、ユーザーごと(適切なテーブル列に適切な値を保存している場合)でも可能です。
boson
wpb_set_post_views(get_the_ID()); のコードをシングル投稿ループ内に入れる、というのは、テーマの single.php のどこかにこのコードを使えば良いということでしょうか?
ご協力ありがとうございます。
WPBeginnerサポート
いいえ、ループ内のコードを間に貼り付けるという意味です
1-click Use in WordPress
および
<?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?>1-click Use in WordPress
管理者
Cory Dobson
投稿ビューが収集される期間を制限する方法はありますか?たとえば、過去24時間の最も多くのビューを持つ投稿を表示したいのですが、このコードを使用してどのようにすればよいですか?
ところで、素晴らしい投稿です、本当に役立ちました!
イゴール
結果をページネーションするにはどうすればよいですか。
例えば1ページあたり10件の結果
Mark
もしsingle-xxxx.phpがループを使用せず、カスタムフィールドを使用している場合はどうなりますか?ループを使用しない場合、このコードをどのように使用できますか?
WPBeginnerサポート
single-xyz.phpは、xyzスラッグを持つ単一投稿に使用されるファイルであることを意味します。テンプレートのコンテンツ表示が終わると思う場所に、最後のコードスニペットをテンプレートに追加することもできます。
管理者
quocminh86
コメントポリシー、
Dusan
mfuncコードをどこに配置すればよいか混乱していますか?
WPBeginnerサポート
W3 Total Cache を使用している場合は、テンプレートの表示したい人気記事の箇所で、wpb_get_post_views(get_the_ID()); の直前にこのコードを追加できます。このコードの目的は、W3 Total Cache が人気記事を動的に表示し、キャッシュしないようにすることです。
管理者
ワカス・ムニル
親愛なる方、私は本当に混乱しています…これを私のブログに追加しようとしていますが、これらすべてに関する経験がありません。
WPBeginnerサポート
それなら、代わりにWordPress Popular Postsプラグインを使ってみてはいかがでしょうか。
管理者
Aleksander
delete_post_meta や add_post_meta の代わりに update_post_meta 関数を使用するのはどうでしょうか?
ジョージ
この投稿ありがとうございます!本当に本当に良いです。
2つ質問があります:
1. IPアドレスごとに1回の訪問のみをカウントすることは可能ですか?方法は?
2. 特定の期間で最も人気のある投稿を表示できますか?たとえば、今月最も多く訪問された投稿、または5月1日から6月1日までの最も人気のある投稿など…
ありがとうございます!
イゴール・グムシュ
thanks , working great
shishir umrao
こんにちは。
このコードは動作していますが、ページをリロードするたびに、総ページ数に「2」が追加されてしまいます。例えば、ページ数が14の場合、リロード後に総ページ数が16になります…どこに問題があるか、誰か推測できますか?
シシラ・ウムラオ
編集スタッフ
関数が何らかの理由で2回ロードされているため、発生しています。
管理者
shishir umrao
はい。このコードが原因であることを突き止めました。
Nick
非常に役立つ投稿です。カスタムフィールドの値で投稿を並べ替えるようにタグページを作成できましたが、タグページにはページネーションがあり、このコードを削除した後でも、すべてのページに同じトップランキングの投稿が表示され続けます:
‘posts_per_page’ => 4,
タグページで他の投稿を表示するようにページネーションを修正するにはどうすればよいですか?
Chris
カスタムフィールドの値で、投稿ビュー数と同様にタグページの記事を並べ替えるにはどうすればよいですか?
人気投稿プラグインはカテゴリのみをパラメータとして受け取るようです。
マイク
非常に詳細な説明をありがとうございます。これを最も人気のある投稿を表示するために使用すると、サイトのトラフィックが多い場合、サーバーに大きな負荷がかかりますか?この種のWPプラグインのいくつかは、この問題を抱えている傾向があります。
編集スタッフ
どのくらいのトラフィックが重要ですか?私たちは WPBeginner でそれを使用しています。
管理者
ライアン・カーペル
うわー、すごい!本当にすごい。これのおかげで本当にありがとうございます!!!完璧に動作します!
Lowell
まだ勉強中なので、無知をお許しください。
CodeCanyonのように、価格、販売数、日付などでソートできるようなクエリをユーザーが選択できるようにするにはどうすればよいですか?
本当にありがとうございます。
saeed
表示される人気投稿の数を変更するにはどうすればよいですか?
編集スタッフ
posts_per_pageを好きな数字に変更してください。
管理者
Adam Davies
本当にありがとうございます。助かりましたし、今後もっと活用する素晴らしいヒントです。
Md. Ariful Islam
こんにちは、本当に、この便利なヒントをありがとうございます。大変感謝しております。
Ar Ya
こんにちは、それは素晴らしいですね!
しかし、「orderby」=>「wpb_post_views_count meta_value_num」が機能していません。
次を使用してください:「orderby」=>「meta_value_num」
ありがとうございます。
nick
ありがとうございます。私もうまくいきました。ただ、一つ重要な例外があります。人気のある投稿がリンクになっておらず、タイトルだけが表示されます。これを修正するにはどうすればよいですか?
Preston
記事に記載されている方法でこのコードを追加したところ、有効化すると次のような表示になりました。
プラグインのアクティブ化中に予期しない出力が2文字生成されました。「headers already sent」メッセージ、シンジケーションフィードの問題、またはその他の問題が発生した場合は、このプラグインを非アクティブ化または削除してみてください。
Preston
修正しました。2つのことを行いました。
1. パーマリンク構造をカスタム構造 /%category%/%postname%/ に変更しました。
2. すべてのページで余分なスペースがないか確認してください。
そのうちの1つはうまくいきました。
…考えてみてください
Preston
Jose Vega
こんにちは、カスタムループで使用した前のクエリを破棄するために、クエリの最後に – wp_reset_query(); – を追加する必要があると思います。
誰かの役に立つことを願っています。
ジョン・エドワーズ
カテゴリごとに人気の投稿を表示するためにカスタムWPクエリを使用して、95%まで動作させています。
私にとって機能していない唯一の部分は順序です。私のものはビューの降順で表示されません。
キャメロン
投稿ありがとうございます!本当に助かりました。
他にこの問題に遭遇した人がいるか分かりませんが、WP_Queryの引数を設定する際に、orderby => ‘wpb_post_views_count’としていました。これは、投稿の並び順が分からなかったので、私にとっては問題でした。Codexによると、数値を使用する場合、最初の桁のみでソートされるとのことです。これを修正するには、「wpb_post_views_count」を「meta_value_num」に置き換えるだけで済みます。これは基本的に、クエリに投稿のメタ値にアクセスさせ、ソートする前に整数にキャストさせることを意味します。同じ問題に遭遇した人の役に立てば幸いです。
全体的に、うまく機能しています!ホームページのスライダーに最も人気のある投稿4件が表示されています。改めて感謝します!
編集スタッフ
良い提案です。記事を更新しました。
管理者
efishinsea
こんにちは。上のコードサンプルは更新されていません。
これの代わりに:
‘orderby’ => ‘wpb_post_views_count meta_value_num’
次のように提案すべきです:
‘orderby’ => ‘meta_value_num’
「最も多いから最も少ない」で並べ替えたい場合
ミン
なぜビュー数が100未満の投稿しか表示されないのですか?
編集スタッフ
キャッシュプラグインを使用している場合、常に更新されるとは限りません。
管理者
ジョージ
チュートリアルをありがとうございます。現在の投稿を表示しないようにするにはどうすればよいですか?
Kris
ホームページではうまく表示されますが、single.phpやサイトの他の場所には表示されないようです。sidebar-single.phpを作成してコードを挿入してみましたが、うまくいきませんでした。テーマの他の場所で機能しない理由について何かアイデアはありますか?
Kris
うまくいきました。これに感謝します。
アンダーソン
動作しません。ランダムな投稿が表示されます :S post_type = > ‘post-type-name’ を使用しています。
Mody
これは通常、メタキー wpb_post_views_count が投稿で利用できない場合に発生します。wpのループ内でビューを追跡する関数を追加していることを確認してください。そうしないと、ランダムな投稿が表示され続けます。
– Mody
Bent
こんにちは。
WordPressテーマで投稿ビューを追跡するために、あなたのコードを使用しています。
function wpb_get_post_views($postID){
$count_key = ‘wpb_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’;
}
問題は、W3 Total Cache を使用すると、トラックビューが正しく機能しないことです。
W3 Total Cacheのオプションで、この機能のみを無視するように設定できますか?同時に、コードがW3 Total Cacheで動作するようにしたいのですが。
ありがとうございます!
編集スタッフ
記事をもう一度読んでください。「フラグメントキャッシュ」についてはすでに説明しています。
バイバブ
こんにちは。
チュートリアルに従って、おっしゃられた通りに実行しました。
スニペットも追加しました。
php query_posts(‘meta_key=post_views_count&orderby=meta_value_num&order=DESC’);
を index.php に追加しました。
無限スクロールを使用しています。
index.phpにこのスニペットを配置すると、
次の投稿セットを読み込む代わりに、
同じ投稿セットを読み込んでしまいます。
より理解を深めるために、ここでライブで確認できます。
blog.newgags,com
ヘンリー
何らかの理由で、ページを更新するたびに投稿ビューが2ずつ増加します。何が起こっている可能性がありますか?
ヘンリー
申し訳ありません。トラッカーをWPヘッダーと単一投稿本文の両方に追加していました。私のミスです :}
素晴らしいチュートリアルで、とても分かりやすかったです。
ブランダン
まず、この投稿に感謝します。次に、このスクリプトを数日間使用していますが、何らかの理由で正常に開始しましたが、現在は最も表示されている投稿が表示されていません。表示されている投稿に規則性が見られません。最後に確認したところ、一番上に表示されている投稿は8回のページビューがあります。25以上のページビューが記録されている投稿があることは知っています。これを突き止めたいです。正しい方向を指し示していただけますか。この投稿を文字通りに実行しました。投稿ビューは正しく記録されています。
編集スタッフ
何がうまくいかないのか分かりません。WP_Queryは、最も多いカウントを持つ投稿を最初にリストするはずです。
管理者
Einar Ólafsson
こんにちは。これは、ビューカウントが999を超えると、うまく機能しなくなります。999以上のビューカウントを持つすべての投稿は表示されず、クエリはそれらを投稿しません。最新の投稿はちょうど999の投稿で、残りはそれ以下です。1000以上の投稿が100件以上ありますが、含まれていません。
編集スタッフ
興味深いですね。当社の投稿は10,000ビューを超えており、問題なく動作しているようです。
管理者
Martinbeasnunez
みんな、最高だよ
簡単な質問ですが:
あなたのコードにカスタム投稿タイプを追加した場合、
(特定のカスタム投稿タイプの人気投稿)
よろしくお願いします(:
編集スタッフ
これはカスタム投稿タイプ(CPT)でも機能するはずです。
管理者
Artem Russakovskii
これは良い基本的なチュートリアルですが、注意してください:PHPをバイパスするキャッシュ戦略(wp-supercache、W3TC、nginx/varnishなど)を使用している場合、機能しません。それらをカウントする唯一の方法は、JavaScriptまたはログ解析を介して行うことです。
編集スタッフ
Artemさん、こんにちは。お立ち寄りいただきありがとうございます。実際にはW3 Total Cacheを使用すると、フラグメントキャッシュを使用でき、問題なく動作します。キャッシュプラグインを使用している方のために記事を更新する予定です。
管理者
Artem Russakovskii
興味深いですね。しかし、私はW3TCの前にnginxを実行しており、独自のキャッシュを大量に行っているため、AJAXアプローチを使用する方が常に安全で信頼性が高いです。フラグメントキャッシュに関する良い情報ですね、W3TCにそのような機能があるとは知りませんでした。
ラモン・フィンケン
なぜ
//カウントを正確に保つために、プリフェッチを削除しましょう
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0); を使用するのですか?
メインループまたはフッターを使用できますか?
編集スタッフ
一部のブラウザは、next値を持つrelリンクをプリフェッチします。そのため、技術的にはユーザーが一方の投稿を表示した場合、両方の投稿を表示したかのように動作する可能性があります。これにより、カウントが不正確になります。表示回数を増やしたい場合は、削除しないでください。
管理者
Nino Blasco
素晴らしい記事です!説明が分かりやすく、理解しやすいです。
ありがとうございます。
Connor Crosby
やった!プラグインを必要としないチュートリアル!
編集スタッフ
はい、視聴者のために物事のバランスを取るようにしています。これはユーザーからのリクエストで、私たち自身のサイトでも使用していました。
管理者
Zach
こういうことは言わないでください。プラグインは悪くありません。プラグインを悪く見せているのはこのような記事です。ここ数週間で十分な記事が出て、これを完全に説明しています – 少し恥ずかしいです。
編集スタッフ
今後の投稿のタイトルはどのように提案しますか? DIYプレフィックス? これらは、既製のプラグインを使用するだけとは異なります。また、記事を読んだ場合、記事のどこにも「プラグインは悪い」とは書いていません。カスタマイズ性を高めるためにコーディングした唯一の理由を明確に述べています。どちらの立場を取るかはユーザー次第です。プラグインが悪いと考える人もいれば…あなたのように、私たちがプラグインが悪いと言っていると考える人もいます…
Zach
プレフィックスは必要ないと思います。それがWordPressの素晴らしい/恐ろしいところの一つです。このコードをテーマに入れることはできますが、そうすると、1) テーマを変更したときにそれらのカスタマイズを失うか、2) それらを別のテーマに正しく引き継ぐ知識が必要になるか、という議論になります。
ここにいるユーザーの多くは初心者です(だからこそこのサイトがあるのです)。そのため、提供されたものをそのままコピー&ペーストする人も多くいます。WP Beginner は明らかに素晴らしいリソースです(だから Twitter でフォローしているのです)が、プラグインやテーマの仕組みについて誤解を与えるような情報を与えない責任があります。
正しいです。「プラグインは悪いので、代わりにテーマにこれを入れなさい!」とはっきりとは言いませんが、スレッドの元のコメント者が「やった!プラグインを必要としないチュートリアル!」と言ったので、あなたが言わなくても、そのように受け取られました。
Pippinがプラグインで行っていることをお勧めします。彼はすべてのチュートリアルで使用するシンプルなスタータープラグインを持っています。基本的なものだけが入った「スタータープラグイン」のダウンロードを作成し、他の人がそれをダウンロードしてカスタマイズをそこに入れるのはどうでしょうか?各記事で参照すれば、混乱が減ります。ありがとうございます。
編集スタッフ
私たちは長年、Otto のサイト固有プラグインに関するアドバイスに従ってきました。おそらく Pippin が行っていることと同様でしょう。この記事を読むと、サイト固有プラグインはハイパーリンクされています。他のほとんどの記事にもあります。この記事は、サイト固有プラグインの重要性をユーザーに示し、すべてのものを functions.php ファイルに入れないようにユーザーにアドバイスしています。その記事の最後に、誰でも開始できるようにサンプル「スタータープラグイン」があります。
codekipple
公平に言えば、このチュートリアルは私を助けてくれました。プラグインのいくつかを試してマークアップを完全に制御できなかった後、人気のある投稿のための簡単なソリューションを求めていました。このチュートリアルは、人気のある投稿機能を独自のプラグインにすばやく実装するのに役立ちました。
ですから、既製のプラグインを使用することは悪いことではないと同意しますが、時にはこのようなチュートリアルは、既に構築されたプラグインと格闘するのではなく、必要な方法でプラグインを制御して構築するのに役立ちます。
Pippin
Zachが言ったように、「プラグインなしで」の使用はやめてください。確かに、自分でコードを書く方法を見るのはクールですが、このコードとプラグインのコードには文字通りの違いはありません。このコードをプラグインに配置しても、テーマに配置するのと同じように機能します。
ルーベン
違いがないと言うなら、あなたは何も分かっていない。例えば、プラグインディレクトリにアクセスできないサイトで作業しているとしましょう。「プラグインを使わずに」動作するソリューションは、実行可能な代替手段になります。
タイトルに関しては、意味論的にはタイトルは投稿の内容を反映すべきであり、「プラグインあり・なしでWordPressの人気投稿をビュー数で表示する方法」となるでしょう。
ただし、SEOを考慮すると、たとえばプラグインを使用したくない、または使用できない人を対象にこの投稿をリーチさせたい場合、タイトルはそのままが最善でしょう。
ガウタム・ドダマニ
genesisのチャイルドテーマを使っています。どの関数とコードを使えばいいか教えてもらえますか?genesisについては初心者なのでごめんなさい…
編集スタッフ
チャイルドテーマのユーザーの場合、wp_headソリューションは投稿ビューを追跡するのに役立ちます。他に何を意味していたのかわかりません。
管理者
ガウタム・ドダマニ
本当ですか? Artemが言ったように、キャッシュプラグインを使用すると、このコードは応答しなくなりますか?例えば、私は現在W3 Total Cacheを使用しており、この方法でカスタムのビュー数が多い投稿ウィジェットを作成したいのですが…wpsnipp.comでこのような投稿を読みましたが、ユーザーはキャッシュプラグインを有効にすると機能しないと提案していました…すぐに返信してください…
編集スタッフ
Artemへのコメントの返信を読んでください。フラグメントキャッシュを使用すれば、問題なく動作させることができます。