WordPressサイトでランダムな投稿を表示すると、ユーザーはより幅広いコンテンツに触れることができ、サイトのエンゲージメントを高め、提供するコンテンツをさらに探索するよう促すことができます。
過去にWPBeginnerブログでランダム投稿を表示したことがあり、いくつかの異なる方法を学びました。私たちの経験では、最も簡単で効果的なアプローチは、WPCodeやRecent Posts Widget Extendedのようなプラグインを使用することです。
この記事では、これらの両方のツールを使用して、WordPressでランダムな投稿を簡単に表示する方法を説明します。

WordPressでランダム投稿を表示する理由
デフォルトでは、WordPressはブログ投稿を逆年代順(新しいものから古いものへ)に一覧表示します。これにより、ユーザーは最新の投稿を最初に確認できます。
ただし、ほとんどのユーザーは古い記事を見ることはありません。たとえば、WordPressブログを長期間運営している場合、古い記事はウェブサイトのどこにも目立つように表示されません。
これを克服する1つの方法は、内部リンクを習慣にすることです。新しい投稿で古い記事にリンクすると、ユーザーがそれらを発見するのに役立ちます。また、ページビューを増やし、SEO を改善します。
この問題の別の解決策は、WordPressのページ、投稿、またはサイドバーにランダムな投稿を表示することです。
これは、ユーザーがそうでなければ見つけられなかったかもしれないコンテンツを発見するのに役立ち、また古い投稿を公開して全体的なユーザーエクスペリエンスを向上させることもできます。
それを踏まえて、WordPress でランダムな投稿を簡単に表示する方法を見ていきましょう。2つの方法をカバーします。使用したい方法にジャンプするには、以下のクイックリンクを使用できます。
- 方法1:WPCodeを使用してWordPressでランダムな投稿を表示する(推奨)
- 方法2:Recent Posts Widget Extendedを使用してWordPressサイドバーにランダム投稿を表示する
- ボーナス:SEOのためにブログ投稿を最適化する
方法1:WPCodeを使用してWordPressでランダムな投稿を表示する(推奨)
WordPressでランダムな投稿を簡単かつカスタマイズ可能な方法で表示したい場合は、この方法が最適です。
多くのチュートリアルでは、テーマのfunctions.phpファイルにコードを追加してこれを行うように指示しています。しかし、コードを入力中にわずかなエラーがあると、ウェブサイトが破損してアクセスできなくなる可能性があります。
だからこそ、市場で最高のWordPressコードスニペットプラグインであるWPCodeの使用をお勧めします。これは、カスタムコードをウェブサイトに追加する最も簡単で安全な方法です。
まず、WPCode プラグインをインストールして有効化する必要があります。詳細な手順については、初心者向けのガイド「WordPress プラグインのインストール方法」をご覧ください。
注意: このチュートリアルでは、無料のWPCodeプラグインを使用することもできます。ただし、Proバージョンにアップグレードすると、コードスニペットのクラウドライブラリ、スマート条件付きロジックなどにアクセスできるようになります。
プラグインを有効化したら、WordPress 管理画面のサイドバーから Code Snippets » + Add Snippet ページに移動してください。
そこに着いたら、「カスタムコードを追加(新規スニペット)」オプションの下にある「カスタムスニペットを追加」ボタンをクリックします。

次に、画面に表示されるオプションのリストから、コードタイプとして「PHPスニペット」を選択する必要があります。

次に、「カスタムスニペットを作成」ページに移動します。ここで、コードスニペットの名前を入力することから始めます。
このタイトルは参照用であり、ウェブサイトのフロントエンドには表示されません。

次に、次のコードを「コードプレビュー」ボックスにコピーして貼り付けます。
function wpb_rand_posts() {
$args = array(
'post_type' => 'post',
'orderby' => 'rand',
'posts_per_page' => 5,
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
$string .= '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
$string .= '<li><a href="'. get_permalink() .'">'. get_the_title() .'</a></li>';
}
$string .= '</ul>';
/* Restore original Post Data */
wp_reset_postdata();
} else {
$string .= 'no posts found';
}
return $string;
}
add_shortcode('wpb-random-posts','wpb_rand_posts');
add_filter('widget_text', 'do_shortcode');
有効化すると、このコードはウェブサイトに5つのランダムな投稿を表示します。'posts_per_page'の値を別の数値に変更することもできます。
次に、「挿入」セクションまでスクロールし、「自動挿入」モードを選択します。
このモードを選択した後でも、ランダムな投稿を表示するには、ウェブサイトのサイドバー、ページ、または投稿に[wpb-random-posts]ショートコードを追加する必要があります。
このショートコードは、WPCodeの「ショートコード」機能の結果ではなく、コードスニペット自体の一部であることを覚えておいてください。

最後に、一番上までスクロールして、「非アクティブ」スイッチを「アクティブ」に切り替えます。
その後、「スニペットを保存」ボタンをクリックするだけで変更が保存されます。

WordPressのページまたは投稿にランダム投稿を表示する
コードスニペットを保存したら、この方法を使用して、ウェブサイトのページまたは投稿にランダムな投稿を表示できます。
まず、WordPressダッシュボードから新しいページ/投稿、または既存のページ/投稿を開きます。
次に、画面左上の「ブロックを追加」(+)ボタンをクリックしてブロックメニューを開きます。そこから、ショートコードブロックを見つけてWordPressのページまたは投稿に追加します。
その後、以下のショートコードをブロックにコピー&ペーストするだけです。
[wpb-random-posts]

最後に、変更を保存するために、一番上にある「公開」または「更新」ボタンをクリックします。
これで、WordPressウェブサイトにアクセスして、ランダムな投稿を確認できます。

サイドバーにランダムな投稿をウィジェットとして表示する
クラシックテーマを使用している場合は、この方法が適しています。
まず、WordPressの管理サイドバーから 外観 » ウィジェット ページにアクセスする必要があります。
そこに着いたら、画面左上の「ブロックを追加」(+)ボタンをクリックして、ブロックメニューを開きます。
ここから、「サイドバー」タブでショートコードブロックを見つけて追加します。次に、次のショートコードをブロックにコピー&ペーストします。
[wpb-random-posts]

最後に、上部にある「更新」ボタンをクリックして変更を保存します。
これで、WordPressのサイドバーに表示されているランダムな投稿を確認するためにサイトにアクセスできます。

ブロックテーマでランダムな投稿を表示する
フルサイトエディターを備えたブロックベースのテーマを使用している場合は、この方法が適しています。
WordPress管理画面のサイドバーから外観 » エディターページにアクセスすることから始められます。これにより、WordPressのフルサイトエディターが起動します。
ここで、左上にある「ブロックを追加」(+)ボタンをクリックし、ウェブサイトの好きな場所にショートコードブロックを追加する必要があります。
その後、次のショートコードをコピーしてブロックに貼り付けます。
[wpb-random-posts]

最後に、上部にある「保存」ボタンをクリックして変更を保存します。
これで、ウェブサイトにアクセスしてランダムな投稿リストを確認できます。

方法2:Recent Posts Widget Extendedを使用してWordPressサイドバーにランダム投稿を表示する
コードを使わずにWordPressのサイドバーにランダムな投稿を表示したい場合は、この方法が最適です。
まず、Recent Posts Widget Extended プラグインをインストールして有効化する必要があります。手順については、WordPress プラグインのインストール方法のチュートリアルをご覧ください。
免責事項: このプラグインはWordPressの最新バージョンではテストされていないことにご注意ください。ただし、リアルタイムで当社のウェブサイトで使用したところ、正常に動作しているようです。詳細は、古いWordPressプラグインに関するガイドをご覧ください。
プラグインがアクティブ化されたら、ブロックを使用してWordPressサイドバーにランダムな投稿を簡単に表示できます。
ただし、これはクラシックWordPressテーマのウィジェットエリアでのみ機能します。ブロックテーマを使用している場合、プラグインのブロックは利用できません。
同様に、このプラグインではWordPressのページや投稿にランダムな投稿を表示することはできません。
WordPressのサイドバーにランダムな投稿を表示するには、管理ダッシュボードから外観 » ウィジェットページにアクセスしてください。
ここで、画面左上の「ブロックを追加」(+)ボタンをクリックして、ブロックメニューを開きます。次に、「サイドバー」タブで「最近の投稿(拡張)」ブロックを見つけて追加します。
これにより、ブロックの設定画面が開きます。ここで、ランダムな投稿リストの上に表示されるタイトルを入力することから始めることができます。

それが完了したら、左側の列にある「投稿」タブに切り替えます。
ここから、ウェブサイトに表示したい投稿の投稿タイプ、投稿ステータス、および順序を選択できます。カスタム投稿タイプを選択することもできます。

次に、下方向にスクロールして「Orderby」ドロップダウンメニューで「Random」オプションを選択します。この設定を構成しない場合、ブロックにはサイトに公開された最新の投稿のみが表示されます。
その後、「カテゴリに制限」セクションで特定のカテゴリを選択することで、投稿を制限することもできます。

ブロックの他のタブに切り替えることで、サムネイル、抜粋、カスタムCSSなどの設定を構成することもできます。
最後に、上部にある「更新」ボタンをクリックして変更を保存します。これで、ウェブサイトにアクセスして、WordPressのサイドバーに表示されているランダムな投稿を確認できます。

ボーナス:SEOのためにブログ投稿を最適化する
WordPressサイトにランダムな投稿を表示すること以外にも、SEOのために各投稿を最適化することも重要です。
これにより、ウェブサイトの検索エンジンのランキングが向上し、より多くのトラフィックがもたらされ、リードの生成に役立ちます。
ブログ投稿を適切に最適化するには、キーワードリサーチツール(例:WPBeginner Keyword Generator)の使用をお勧めします。これらのツールを使用すると、コンテンツで使用する関連キーワードを見つけることができます。

それ以外にも、SEOライティングアシスタントツールを使用して、SemrushのようなツールでLSIキーワードや関連キーワードを発見したり、文章のトーンを変更したり、記事の平均長を調べたりすることができます。
コンテンツの質をさらに向上させるために、All in One SEO を使用することもできます。これは市場で最高のWordPress SEOプラグインであり、FAQの追加、ヘッドラインアナライザー、AIタイトルジェネレーター、記事スキーマ、リンクアシスタントなどを備えています。

これらの機能はすべて、ブログ投稿の質とSEOを向上させるのに役立ちます。詳細については、AIOSEOの完全レビューをご覧ください。
ブログ投稿のランキングを上げるためのその他のヒントとしては、カテゴリとタグの使用、可読性の向上、メタディスクリプションの追加、投稿に動画や画像などのビジュアルコンテンツの使用などが挙げられます。
詳細については、ブログ投稿を最適化するヒントに関する初心者向けガイドをご覧ください。
この記事が、WordPressでランダムな投稿を表示する方法を学ぶのに役立ったことを願っています。また、WordPressの投稿を簡単に並べ替える方法に関する初心者向けガイドや、WordPressで非公開投稿を作成する方法のチュートリアルもご覧ください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。


Dayo Olobayo
ランダムな投稿を表示するためにいくつかの方法を試しましたが、このカスタムクエリメソッドほどうまく機能したものはありませんでした。このチュートリアルは理解しやすく、プロセスをわかりやすくするための例やコードスニペットを提供してくれたのが気に入っています。あなたの専門知識のおかげで、多くの時間とフラストレーションを節約できました。これからも知識を共有してください!
イジー・ヴァネック
私の理解では、コードには投稿のアイキャッチ画像が含まれていないとのことですが、アイキャッチ画像付きで投稿を表示するオプションはありますか?
WPBeginnerサポート
ブロックエディターで最新の投稿ブログを確認することをお勧めします。
管理者
イジー・ヴァネック
アドバイスありがとうございます。はい、それでうまくいきます。Elementorと時々Seed Prodを使用しています。Gutenbergは全く使わないので、このオプションは思いつきませんでした。Gutenbergにそのようなブロックがあることを知りませんでした。ヒントをありがとうございます。
Chris Smith
固定投稿が常にランダム投稿に表示されます。このコードから固定投稿を除外する方法はありますか?
WPBeginnerサポート
これを実現するには、コードを調整するよりも、2番目の方法のプラグインを使用することをお勧めします。
管理者
マイケル
毎回ランダム化するのではなく、一定期間結果をキャッシュする簡単な方法はありますか?例えば、DBへの呼び出し負荷を軽減するために、24時間ごとに更新するなど?
WPBeginnerサポート
その機能については、利用可能かどうかプラグインのサポートに確認することをお勧めします。
管理者
マービン・デュル
ウェブサイトのPHP内の投稿内ではなく、特定の場所にショートコードを追加しようとしましたが、ランダム投稿セクションは表示されず、テキスト「[wpb-random-posts]」のみが表示されました。
どうすればいいですか?
WPBeginnerサポート
ブロックエディターを使用している場合は、ショートコードブロックを使用して追加していることを確認してください。
管理者
Zeynep
コードは問題なく動作しました。WordPressサイトの最初のページをindex.htmlに変更しました。htmlページで[wpb-random-posts]を実行するにはどうすればよいですか?私の英語は少し苦手ですが、理解していただけると幸いです。
WPBeginnerサポート
WordPress ショートコードを機能させるには、そのページが WordPress のページである必要があります。
管理者
Elle
これをどのようにスタイリングしますか?PHPのスタイリングは初めてなので、どのようにデザインを制御すればよいか混乱しています。
WPBeginnerサポート
追加したいスタイリングによって、何をする必要があるかが決まります。ターゲットにするものを得るために、HTMLコードにクラスを追加できます。
管理者
Maria Cristhiane Amorim
こんにちは!リストでこれはできますか?
WPBeginnerサポート
それが何を意味するのか、明確にする必要があります。
管理者
Rob Packenham
役立つ記事をありがとうございます。
質問があります。私のWordPressサイトのページには、ランダムな投稿(抜粋)ウィジェットを含むサイドバーがあります。
問題は、Googleがページをインデックス化し、ランダムな投稿の抜粋をページのコンテンツとして「認識」してしまうことです。そのため、Google検索では、ページのメインコンテンツではなく、ランダムな投稿の抜粋のいずれかが検索語句に一致したという理由だけで、ページが表示されることがあります。
しかし、ユーザーがGoogle検索結果のリンクをクリックすると、サイドバーに異なるランダム投稿抜粋が表示されたページが表示され、テキストが一致する投稿抜粋は表示されません。そのため、ユーザーには悪い検索のように見えます。
できれば、ランダムな投稿の抜粋をGoogleインデックスから除外したい、つまりGoogleに表示されないようにしたいのですが、それは不可能のようですね(?)。
何か提案があれば、ぜひお聞かせください!ありがとうございます。
Jun Enriquez
これを試したところ、サイトが壊れてしまいました。リセットするにはどうすればよいですか?
HTTPエラー500
助けてください
ありがとう
6月
Yin
これを共有してくれて本当にありがとう。ランダム投稿のために別のプラグインを使っていましたが、それはもう機能しませんでした。そしてあなたのサイトを見つけ、プラグインをインストールしました。それは驚くほどうまく機能します。
リサ
こんにちは、この役立つチュートリアルをありがとうございます!
特定のカテゴリにあるランダムな投稿を表示するためのコードを追加するにはどうすればよいですか?私のテーマにはサイドバーが表示されないため、プラグインを使用できません。また、各記事の下にランダムな投稿が表示されますが、すべてのカテゴリの投稿が含まれて表示されます。テーマのコードを確認して「post_category」=>「name-of-the-category」を追加しようとしましたが、うまくいきませんでした。何かアイデアはありますか?
Raff
こんにちは!毎週または指定した時間にランダムな投稿を変更したい場合はどうなりますか?例えば、ランダムな投稿のセットを表示した場合、7日間または指定した時間まで変更されないようにするにはどうすればよいですか?よろしくお願いします!
アビマニュ・カシャップ
本当にありがとうございます。ランダムな投稿を表示できるようになりました。投稿数を1に変更して、ランダムな投稿を1つ表示しました。もっと良い方法はありますか?
また、投稿タイプではなく変数を使用し、ショートコードを配置する場所(例:[wpb-random-posts('post')])に入力する方法を知りたいです。
これを達成するにはどうすればよいですか?
devender
このコードを共有してくれてありがとう。とても参考になります……。
ネイト
投稿を順序付け => ‘rand’ に設定するのは半端な対策です。確かに投稿は「ランダムに」表示されますが、前述の DI SEKITAR が言っているように、サイトを訪れるたびに同じランダムな投稿が表示されるのであれば、1つのランダムな投稿を表示することに何の意味があるのでしょうか?
ネイト
「orderby」と言うつもりでした…スペルチェックされました
smehsan
すみません、その文字列は機能しませんでしたが、文字列をグローバルにして動作するようにしました。
global $string;
Marléne Rose Shaw
この素晴らしいチュートリアルをありがとうございます。ショートコードを取得して、サイドバーではなくページ内のコンテンツの下にランダムな投稿を表示する方法はありますか?
Katherine
JAYKAY
現在の投稿を除外するには
‘post__not_in’ => array(get_the_id())
クエリに
したがって、引数は次のようになります。
$args = array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 5, 'post__not_in' => array(get_the_id()), );
JAYKAY
このコードで正常に動作します。
KATHERINEさん、ありがとうございます
di sekitar
本当に素晴らしい情報ですね。
あなたが言及したプラグインを使ってみましたが、大きな疑問があります。
サイトを訪れる訪問者やデバイスごとに異なるランダムな投稿を作成するにはどうすればよいですか?
他のノートパソコンやスマートフォンでサイトにアクセスしようとしましたが、それら2つのデバイスからのランダム投稿は同じでした。
JayKay
こんにちは、
Advanced Random Posts Widget は非常に良いプラグインですが、問題があります。
ランダム投稿を表示する際に、現在の投稿/アクティブな投稿を除外するにはどうすればよいですか?
これは修正可能でしょうか?
方法2のコードでも問題は同じです。
Harry Stoddart
「オフセット」変数を使用して、最新のX件の投稿をスキップします。
Khalil Sillah
初心者ですが、WordPressを学ぶために必要な教材リストは何ですか?
Ahm Clex
PC、Wi-Fi、そして献身。これだけで最近は何でも学べます。
Gaurav Khurana
これ、ありがとう。ずっと考えていました。デフォルトでは、最新の投稿がホームページ自体に表示されるからです。これ、ありがとう。このプラグインを間違いなく使用します。