こんにちは朱夏です。
WordPressテーマ自作やっていきます。
今回は、投稿ページ読み込みや固定ページ読み込みなどの対応をしていきたいと思います。
今回も勉強させていただきます。
それではやっていきましょう。
コード
先にコードを貼っておきます。
<!-- 投稿記事 -->
<div class="row">
<!-- ループ -->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="col-lg-6 col-12 p-3">
<div class="card mb-3 shadow" style="max-width: 540px;">
<a href="<?php the_permalink(); ?>" class="stretched-link"></a>
<!-- <div class="row no-gutters"> -->
<div class="">
<?php if ( has_post_thumbnail() ) : ?>
<?php the_post_thumbnail( '', array( 'class' => 'img-fluid' ) ); ?>
<?php else : ?>
<img src="<?php echo get_template_directory_uri(); ?>/img/S__26001416.jpg" class="card-img" alt="...">
<?php endif; ?>
</div>
<div class="">
<div class="card-body">
<h1 class="h5 card-title"><?php the_title(); ?></h1>
<p><?php the_category( ' ' ); ?></p>
<p class="card-text"><?php the_excerpt(); ?></p>
<p class="card-text"><small class="text-muted"><?php the_time('Y/n/j'); ?> <?php the_time('G:i'); ?></small></p>
</div>
</div>
<!-- </div> -->
</div>
</div>
<?php endwhile; else : ?>
<p>記事がありません。</p>
<?php endif; ?>
<!-- ループ -->
</div>
<!-- 投稿記事 END -->
投稿記事を書くと自動で一覧に表示されるようになりました。
やっていることは以下のような感じです。
-
- 投稿記事があるかを検索
- サムネイルがあれば取得
- 記事タイトル、カテゴリ、本文、投稿日時を取得
- 取得した情報を表示
- 投稿記事の個数or表示個数の上限まで1~4を繰り返す
1作目のテーマも同じような事をやっていたと思うのですが、実装方法はちょっと違いますね。
今回は、まだ投稿記事が0件だった場合、記事がないメッセージを出すように、アイキャッチ画像がなかった場合、代替の画像を表示するようになっています。
ここで、投稿記事の一覧表示ですが、画像とテキストを縦並びに表示を切り替えました。
実行結果
表示結果は以下のような感じになりました。

画像を縦に並べた方が横に並べてた時より見栄えが良くなった気がします。
リンクはカード全体どこでもクリックすれば行けるようになっているのでスマホでも操作しやすくなっている感じですね。
あとがき
というわけで、投稿記事一覧を取得できるようにしました。
WordPressのテンプレートタグを使うことで割と簡単に実装できました。
使用するタグは、参考動画の動画説明欄で提供してくれていますので、参考に見てみると良いと思います。
あと、動画でも出てきた公式のテンプレートタグのページも参考までにリンクを貼っておきます。
wpdocs.osdn.jp
6 Users
31 Pockets
テンプレートタグ - WordPress Codex 日本語版
最初のうちはどれが何かわからないと思いますが、そのうちやりたいことに合わせてこのテンプレートタグ一覧から探して使うことになる日が来るかもしれません。
というわけで今回はここまでです。
次回もよろしくお願いします。
