
12:ページ内容表示用ループ
公開日:2018年11月04日
更新日:2018年11月06日
タイトルや本文など、固定ページや投稿のページ内容を表示するにはページ内容表示用ループを記述します。
投稿一覧やアーカイブページにも適用できるようにループを使用して記述します。
<?php if (have_posts()){ while (have_posts()){ the_post(); echo '記事が存在しています'; } }else{ echo '記事が存在しません'; } ?>
ページ内容表示用ループはHTMLタグと併用することが多いため、代替構文を使用すると便利です。
<?php /***** ループ開始 *****/ ?> <?php if (have_posts()) :?> <?php while (have_posts()) : the_post(); ?> 記事が存在しています <?php endwhile; ?> <?php else: ?> 記事が存在しません <?php endif; ?> <?php /***** ループ終了 *****/ ?>
index.php
ハイライト部分書き換え
<?php get_header(); ?> <div class="content"> <div class="main"> <div class="main-loop"> <div class="inner"> <?php /***** メインループ開始 *****/ ?> <?php if (have_posts()) :?> <?php while (have_posts()) : the_post(); ?> <?php $id = get_the_ID(); ?> <?php // リンク ?> <a class="post-link <?php echo 'post-id'.$id; ?>" href="<?php the_permalink(); ?>"> <?php // タイトル ?> <h2 class="title"><?php the_title(); ?></h2> <?php // 抜粋文 ?> <div class="excerpt"><?php the_excerpt(); ?></div> <?php // 公開日時 ?> <div class="release-date">公開日時:<?php the_time('Y年m月d日'); ?></div> <?php // 最終更新日時 ?> <div class="modified-date">最終更新日時:<?php the_modified_date('Y年m月d日'); ?></div> </a> <?php endwhile; ?> <?php else: ?> <div class="no-post"> <div class="inner"> <p>記事が存在しません</p> </div><!-- /.inner --> </div><!-- /.no-post --> <?php endif; ?> <?php /***** メインループ終了 *****/ ?> </div><!-- /.inner --> </div><!-- /.main-loop --> </div><!-- /.main --> <?php get_sidebar(); ?> </div><!-- /.content --> <?php get_footer();
style.css
投稿一覧リンクをデザイン
/* ========================================== */ /*投稿一覧リンク設定*/ a.post-link { display: block; text-decoration: none; border: solid 1px; margin: 10px; }
出力されたHTML
body内抜粋
<div class="container index hello-world"> <div class="header"> <div class="inner"> <h1><a href="http://localhost/lesson1">レッスン1</a></h1> <p>Just another WordPress site</p> <p>wireframe04</p> <div class="theme_img"><img src="http://localhost/lesson1/wp-content/themes/wireframe04/img/image.png" alt="テーマ内画像" /></div> </div><!-- /.inner --> </div><!-- /.header --> <div class="global_nav"> <div class="inner"> <div class="menu"> <ul> <li class="page_item page-item-2"><a href="http://localhost/lesson1/sample-page/">サンプルページ</a></li> </ul> </div> </div><!-- /.inner --> </div><!-- /.nav --> <div class="content"> <div class="main"> <div class="main-loop"> <div class="inner"> <a class="post-link post-id1" href="http://localhost/lesson1/hello-world/"> <h2 class="title">Hello world!</h2> <div class="excerpt"><p>WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !</p></div> <div class="release-date">公開日時:2018年11月03日</div> <div class="modified-date">最終更新日時:2018年11月03日</div> </a> </div><!-- /.inner --> </div><!-- /.main-loop --> </div><!-- /.main --> <div class="sidebar"> サイドバーコンテンツ </div><!-- /.sidebar --> </div><!-- /.content --> <div class="footer"> <div class="inner"> <div class="copyright"> © 2018 <a href="http://localhost/lesson1">レッスン1</a>. </div> </div><!-- /.inner --> </div><!-- /.footer --> </div><!-- /.container -->
このページで出てくる関数
WordPress関数は「公式サイトのドキュメント」で確認しましょう。
WordPress関数
ループ構成関数
have_posts()
the_post()
記事情報取得関数
get_the_ID()
the_permalink()
the_title()
the_excerpt()
the_time(‘Y年m月d日’)
the_modified_date(‘Y年m月d日’)
欠席者対応:wireframe04
同じタグのコンテンツ
同じカテゴリーのコンテンツ