WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
WEB制作
WordPressのメインループとは
WordPressのメインループとは、投稿(記事)を取得して表示するためのコードです。
テーマのテンプレートファイル内で使われるこのループは、データベースから投稿を取得して記事の表示を行います。
メインループの基本的な役割は、以下の通りです。
- データベースから投稿を取得する
- 取得した投稿を順に表示する
- 各投稿に対して、指定されたテンプレートを適用する
これにより、ホームページ、アーカイブページ、シングルページなど、様々なページにおいて投稿を表示することができます。
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_title('<h2>', '</h2>');
the_content();
endwhile;
else :
echo '<p>投稿が見つかりませんでした。</p>';
endif;
?>
上記が基本形で、アーカイブページ(カテゴリーアーカイブ、タグアーカイブ、日付アーカイブなど)でメインループを使用する際は適宜コードを追加します。
<?php if ( have_posts() ) : ?>
<div class="post-list">
<?php while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' ); ?>
</header>
<div class="entry-content">
<?php the_excerpt(); ?>
</div>
<footer class="entry-footer">
<a href="<?php the_permalink(); ?>" class="read-more">記事の詳細へ</a>
</footer>
</article>
<?php endwhile; ?>
</div>
<?php the_posts_pagination(); ?>
<?php else : ?>
<p>投稿が見つかりませんでした。</p>
<?php endif; ?>
このコードは、アーカイブページでの投稿リストを表示するための基本的な構造を示しています。
以下は各部分の説明です.
have_posts():投稿が存在するかどうかをチェック
the_post():次の投稿データをセットする
the_title():投稿のタイトルを表示する
the_excerpt():投稿の抜粋を表示する
the_permalink():投稿のリンクを表示する
the_posts_pagination():投稿のページネーションを表示する
このテンプレートを使うことで、アーカイブページにおいて投稿のリストを表示することができます。各投稿はタイトル、抜粋、そして「続きを読む」リンクとともに表示されます。