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
同じタグのコンテンツ
同じカテゴリーのコンテンツ