WEB制作のための情報サイト / unazuki Library

get_the_post_thumbnail()

基本構文と使い方(引数・実行結果)

基本構文

記事にアイキャッチ画像がある場合は、アイキャッチ画像を含むimg要素を返します。

get_the_post_thumbnail($post,$size,$attr);

引数

このテンプレートタグは実行時に引数を1つ渡すことができます。

引数必須/任意引数に指定する内容
第1引数
$post
任意記事のID(整数) / オブジェクト
初期値null (現在の記事を指定します)
第2引数
$size
任意画像サイズを下記から指定。
thumbnail(設定→メディアのサムネイルサイズ)
medium(設定→メディアの中サイズ)
medium_large(横幅768px)
large(設定→メディアの大サイズ)
full(オリジナルサイズ)
初期値post-thumbnail(テーマ次第)

あるいは配列での指定も可能。
例:[500,300](横500px、縦300pxに収める)
第3引数
$attr
任意出力するimgタグに属性を追加する。文字列配列で指定。
例:['class' => 'post_img', 'alt' => 'サムネイル画像']

実行結果

戻り値(返す値):アイキャッチ画像を含むHTML(img要素)
※表示するにはechoします。

例1.アイキャッチ画像をオリジナルサイズ(フルサイズ)で取得する

$thumbnail = get_the_post_thumbnail('full');

例2.アイキャッチ画像をサムネイルサイズで表取、classとalt属性を追加する

<?php $thumbnail = get_the_post_thumbnail('', 'thumbnail', ['class' => 'post_img', 'alt' => 'サムネイル画像']); ?>

学習者向け補足情報

【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。

【引数について】

  • 指定できる引数の数はテンプレートタグによって異なります。(引数なしもあり)
  • 引数ごとに必須 / 任意が決まっています。(必須は必ず指定、任意は指定しなければ初期値)
  • 引数名(例:$post)は仕様の便宜上の名前と考えてください。(この名前自体はテンプレートタグ実行に関係しません。各引数に何を指定するのかを理解していればOKです。)

※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。

関連するテンプレートタグ

テンプレートタグ 説明
post_class() 投稿に関するclass名を表示する。
the_author() 現在の記事の投稿者の名前を表示します。
get_the_author() 現在の記事の投稿者の名前を返します。
the_ID() 現在の記事のIDを表示します。
get_the_ID() 現在の記事のIDを取得します。
get_post_meta() カスタムフィールドの値を取得します。
the_permalink() 記事のパーマリンク(URL)を表示します。
get_permalink() 記事のパーマリンク(URL)を表示します。
the_post_thumbnail() 記事にアイキャッチ画像がある場合は、アイキャッチ画像を表示する。
has_post_thumbnail() 投稿にアイキャッチ画像があるかないかを判定した結果、真偽値(true / false)を返す。
the_content() 記事本文を表示します。moreタグ(続きを読むタグ)を使っている場合は、引数の指定次第で記事の一部を表示します。
get_the_content() 記事本文のHTMLを取得します。moreタグ(続きを読むタグ)を使っている場合は、引数の指定次第で記事の一部を取得します。
the_excerpt() 記事の抜粋分を表示します。抜粋の長さはデフォルトで110文字(日本語)。
get_the_excerpt() 記事の抜粋分を取得します。抜粋の長さはデフォルトで110文字(日本語)。
the_time() 記事の公開時刻を表示します。
get_the_time() 記事の公開時刻を取得します。
the_date() 現在の記事(投稿や固定ページ)の公開日を表示します。
get_the_date() 記事(投稿や固定ページ)の公開日を取得する。
the_title() 記事のタイトルを表示します。
get_the_title() 記事のタイトルを取得します。