WordPress アイキャッチ画像の各種情報を取得する

Doli the Cat
Doli the Cat © studio doli

WordPressでは、アイキャッチにしても添付画像にしても、メディアとして登録されます。

で、メディアには以下のような情報を記録できます。少なくとも私のWP環境では。

  • タイトル
  • キャプション
  • 代替テキスト
  • 説明
  • Media Tags

で、今回アイキャッチ画像について、これらの情報を取得したかったのでやってみました。

要約すると以下のような流れです。

  1. アイキャッチ画像のIDを取得する。( get_post_thumbnail_id()
  2. 投稿タイプ「attachment」としてのPOSTtデータを取得する( get_post()
  3. 取得したPOSTデータから好きなように料理する
$thumb_id = get_post_thumbnail_id( get_the_ID() );
$thumb_post = get_post($thumb_id);

//キャプションを取得
$caption = $thumb_post->post_excerpt;
//「説明」を取得
$content = $thumb_post->post_content;

ただし、この方法では代替テキストが取得できないみたい。(正直「え?」って感じですが)代替テキストは代替なのだから取得するな、ということ?
代替テキストはget_post_meta()を使って取得できました。

$post_meta = get_post_meta( $thumb_id );
$alt = $meta['_wp_attachment_image_alt'][0];

これ、もっと簡単な方法がありそうだけども…。調べる余力がないので、あしからず。

今回はアイキャッチ画像に絞った話でしたが、アイキャッチ画像に限らずメディアのIDさえわかれば情報はすべて取得できますね。

Wordpress, 備忘録 | , |