画像の「キャプション」と「代替テキスト」の取得

WordPress
記事内に広告が含まれています。

WordPress 標準の「メディア」の「キャプション」が取得できなくて2分ぐらいハマりました。

「メディア」にアップロードしたファイル(主に画像を扱うと思います)には

  • 代替テキスト(※画像の場合のみ)
  • タイトル
  • キャプション
  • 説明

という入力欄が用意されています。

「画像の下にキャプションを表示したい」という場合、いつもは『代替テキスト』を使っているのですが『キャプション』を使う場合はどうするのか知らず。

『代替テキスト』の場合は以下のような感じ。

<?php
// 画像 ID を取得
$img_id = get_post_thumbnail_id();
// 画像の『代替テキスト』を取得
$text_caption = get_post_meta($img_id, '_wp_attachment_image_alt', true);

『キャプション』の場合は get_post_meta() ではなく、get_post() を使います。

<?php
// 画像 ID を取得
$img_id = get_post_thumbnail_id();
// 画像の『キャプション』を取得
$text_caption = get_post($img_id)->post_excerpt;

画像の添付ファイルのページ(post)の「抜粋」って扱いっぽいですね。なるほど。

その他、タイトルなどの取得方法は以下がわかりやすかったです。

参考 【WordPress】アイキャッチ画像の各種情報を取得する方法 #PHP – Qiita

タイトルとURLをコピーしました