WordPressループで任意の数の投稿を表示する方法

時々、読者からウェブサイトのカスタマイズに関する特別なリクエストを受けることがあります。その一つが、ループで任意の数の投稿を表示したいというものでした。この機能はWordPressではデフォルトで利用できないため、ユーザーのためにカスタムコードスニペットを作成しました。

ループを使用すると、WordPressは現在のページに表示される各投稿を処理します。次に、ループタグ内で指定された基準にどのように一致するかによってフォーマットします。

この記事では、WordPressループに任意の数の投稿を表示する方法を説明します。

WordPressループで任意の数の投稿を表示する方法

WordPressループとは?

ループは、WordPressが各投稿を表示するために使用するものです。これは、ウェブページに投稿のリストを表示するためにWordPressテーマで使用されるPHPコードです。WordPressコードの重要な部分であり、ほとんどのクエリの中核となります。

WordPressのループでは、投稿を表示するためにさまざまな関数が実行されます。しかし、開発者はテンプレートタグを変更することで、ループ内で各投稿が表示される方法をカスタマイズできます。

例えば、ループ内のベースタグは、ループ内の投稿のタイトル、日付、コンテンツを表示します。カスタムタグを追加して、カテゴリ、抜粋、カスタムフィールド、著者名などを追加で表示できます。

WordPressのループでは、各ページに表示するブログ投稿の数を制御することもできます。これは、著者のテンプレートをデザインする際に役立ちます。なぜなら、各ループに表示される投稿の数を制御できるからです。

それでは、WordPressループに任意の数の投稿を追加する方法を見てみましょう。

WordPress ループに任意の数の投稿を追加する

通常、WordPress管理パネルからループに表示する投稿数を設定できます。

WordPressダッシュボードから Settings » Reading に移動するだけです。デフォルトでは、WordPressは10件の投稿を表示します。

読み取り設定 WordPress

ただし、スーパー ループを使用することでその数を上書きできます。これにより、特定の WordPress ループで任意の数の投稿を表示できます。

これにより、著者プロフィール、サイドバーなど、ページの表示設定をカスタマイズできます。

まず、投稿を配置したいテンプレートファイルを開き、このループを追加するだけです。

<?php
// if everything is in place and ready, let's start the loop
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

	// to display 'n' number of posts, we need to execute the loop 'n' number of times
	// so we define a numerical variable called '$count' and set its value to zero
	// with each iteration of the loop, the value of '$count' will increase by one
	// after the value of '$count' reaches the specified number, the loop will stop
	// *USER: change the 'n' to the number of posts that you would like to display

	<?php static $count = 0;
	if ( $count == "n" ) {
		break;
	} else { ?>

		// for CSS styling and layout purposes, we wrap the post content in a div
		// we then display the entire post content via the 'the_content()' function
		// *USER: change to '<?php the_excerpt(); ?>' to display post excerpts instead

		<div class="post">
			<?php the_title(); ?>
			<?php the_content(); ?>
		</div>

		// here, we continue with the limiting of the number of displayed posts
		// each iteration of the loop increases the value of '$count' by one
		// the final two lines complete the loop and close the if statement

		<?php $count ++;
	} ?>
<?php endwhile; ?>
<?php endif; ?>

注意: コードのif ( $count == "n" ) 部分の「n」の値を置き換える必要があり、任意の数を選択してください。

このコードをWordPressウェブサイトに追加する簡単な方法は、WPCodeプラグインを使用することです。これはWordPress向けの最高のコードスニペットプラグインであり、カスタムコードの管理に役立ちます。

WPCode を使用すると、テーマのテンプレートファイルを手動で編集して、何かを壊すリスクを冒す必要がありません。プラグインがコードを自動的に挿入してくれます。

まず、無料のWPCodeプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するガイドをご覧ください。

有効化したら、WordPressダッシュボードから Code Snippets » + Add Snippet に移動できます。次に、「Add Your Custom Code (New Snippet)」オプションを選択する必要があります。

新しいスニペットを追加

その後、上記で示した WordPress ループ用のカスタムコードを「コードプレビュー」エリアに貼り付けるだけです。

コードの名前を入力し、「コードタイプ」を「PHPスニペット」に設定する必要があります。

WPCodeにカスタムループコードを追加する

次に、「Insertion」セクションまでスクロールダウンし、コードを実行したい場所を選択できます。

デフォルトでは、WPCodeはWordPressウェブサイトのすべての場所に実行されます。ただし、特定のページに場所を変更したり、ショートコードを使用してコードを挿入したりできます。

コードの挿入方法を編集

このチュートリアルでは、デフォルトの「自動挿入」方法を使用します。

完了したら、一番上のトグルをクリックしてコードを「アクティブ」にし、「保存」ボタンをクリックすることを忘れないでください。WPCodeは、コードをWordPressブログにデプロイし、WordPressループで指定された数の投稿を表示します。

この記事が、WordPressループで任意の数の投稿を表示する方法を学ぶのに役立ったことを願っています。また、WordPressでスティッキー投稿をループから除外する方法に関するガイドや、WordPress向けの最高の関連投稿プラグインの専門家による選び方もご覧になりたいかもしれません。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

26 CommentsLeave a Reply

  1. このループでも無制限の数を作成することは可能ですか?多くのウェブサイトで、ユーザーがリストの最後に到達すると、10件の記事が読み込まれ、これが繰り返されるという機能を見たことがあります。このループでそれが可能ですか、それともプラグインを使用する必要がありますか?

  2. 現在開発中のウェブサイトの特定のページで、サイト全体のすべてのページの設定に影響を与えることなく、投稿数を変更する必要がありました。この記事は、その点で役立ちました。特定のページテンプレートにスーパー ループを作成することができ、目的の投稿数を表示できました。非常に役立つ記事です。本当にありがとうございます。

  3. このスーパー・ループ・コンセプトはゲームチェンジャーだ!適切な投稿数を表示するのに苦労していたんだけど、まさにこれが必要だったんだ。
    役立つ投稿をありがとう。

  4. こんにちは、このトリック本当にありがとうございます。本当に必要でした!!良い仕事を続けてください!

  5. 皆さん、この件について助けてください。問題は、デスクトップ表示でAdmag magazine and blog themeという別のテーマを使って静的なフロントページを設定したところ、問題なく表示され、気に入っているのですが、Carrington themeを使っているモバイル表示では何も表示されず、投稿を呼び出そうとするとデスクトップ表示で使ったページのリンクが表示され、そのリンクを開いても投稿が表示され続けます。どなたか、この問題を解決する方法を教えていただけますか。よろしくお願いします。
    こちらが私のサイトです。助けてください。デスクトップでは問題ありませんが、モバイルのフロントページで投稿を呼び出すことができません。

  6. global $wp_query;
    $args = array_merge( $wp_query->query_vars, array( ‘posts_per_page’ => ‘6’ ) );
    query_posts( $args );
    query_posts( $args );

    ここからインスピレーションを得ました

  7. ホームページには投稿を2件、その他のアーカイブページ(タグ、カテゴリ、検索結果など)には投稿を5件表示したいです。

  8. このチュートリアルをありがとうございます。ただ一つ質問があります。私の投稿は、なぜか1ページあたり最大50件しか表示されません。もし「n」を50未満に設定するとその数だけ表示されますが、50より大きい値にすると50で止まってしまいます。

  9. 素晴らしいコードをありがとうございます。このコードをブログに2回使用しました。ホームページとサイドバーで表示する投稿数を制限するために使用しましたが、コードは問題なく正しく動作しました。非常にシンプルなコードで使いやすいです。

  10. あなたの方法で表示される投稿数を変更できるにもかかわらず、「設定」>「表示設定」の下にある管理パネルの「投稿数設定」が依然として最大値を設定しているようです。
    たとえば、wp-adminパネルでその数を20に設定し、テンプレート内で$countを20を超える任意の数に設定した場合でも、20件の投稿しか表示されません。ただし、テンプレートで$countを20未満の数に設定すると、その量の投稿しか表示されません。したがって、管理パネルの数値が最大値のようです。回避策はありますか?ありがとうございます

  11. こんにちはチーム、
    行#28に「++」がありません。それは次のようにあるべきです:count++
    それ以外はありがとうございます、それはまさに私が探していたものでした。

コメントを残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。