記事にアイキャッチ画像がある場合は、アイキャッチ画像を表示します。(img要素を出力します。)
the_post_thumbnail($size,$attr);このテンプレートタグは実行時に引数を1つ渡すことができます。
| 引数 | 必須/任意 | 引数に指定する内容 |
|---|---|---|
第1引数$size | 任意 | 画像サイズを下記から指定。thumbnail(設定→メディアのサムネイルサイズ)medium(設定→メディアの中サイズ)medium_large(横幅768px)large(設定→メディアの大サイズ)full(オリジナルサイズ)初期値: post-thumbnail(テーマ次第)あるいは配列での指定も可能。 例: [500,300](横500px、縦300pxに収める) |
第2引数$attr | 任意 | 出力するimgタグに属性を追加する。文字列か配列で指定。例: ['class' => 'post_img', 'alt' => 'サムネイル画像'] |
記事に紐づくアイキャッチ画像を表示します。
the_post_thumbnail('full');the_post_thumbnail('thumbnail',['class' => 'post_img', 'alt' => 'サムネイル画像']);【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。
【引数について】
投稿の一覧表示で、サムネイルがあるかどうかを判定し、あればthe_post_thumbnailでサムネイル画像を表示し、なければデフォルト画像を表示する。(例ではテーマ直下のimgディレクトリにあるnoimage.jpgを読み込みます。)
<?php if (has_post_thumbnail()) : ?>
<?php the_post_thumbnail(); ?>
<?php else: ?>
<img src="<?php echo esc_url(get_theme_file_uri('/img/noimage.jpg')); ?>" alt="">
<?php endif; ?>home.phpやarchive.phpに下記のようにコードを書いて、サムネイル付き投稿の一覧を表示することができます。
<?php if (have_posts()) : ?>
<ul class="cards">
<?php while (have_posts()): ?>
<?php the_post(); ?>
<li class="cards__item card">
<a class="card__link" href="<?php the_permalink(); ?>">
<div class="card__data">
<div class="card__img">
<?php if (has_post_thumbnail()) : ?>
<?php the_post_thumbnail(); ?>
<?php else: ?>
<img src="<?php echo esc_url(get_theme_file_uri('/img/noimage.jpg')); ?>" alt="">
<?php endif; ?>
</div>
<div class="card__date"><?php echo get_the_date('') ?></div>
<div class="card__title"><?php the_title(); ?></div>
</div>
</a>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。