2017.08.14
2017.09.07
WordPress
Advanced Custom Fieldsの画像IDでaltを取得する
Advanced Custom Fieldsで画像を扱うとき、画像の返り値にIDを設定した場合にaltを取得する方法です。
_wp_attachment_image_altを使う
返り値がIDの場合alt
を取得するには_wp_attachment_image_alt
を使います。具体的には以下の通り。
<?php $img_alt = get_post(get_field('img')); $alt = get_post_meta( $img_alt->ID, '_wp_attachment_image_alt', true ); ?>
img
がフィールド名です。実例は以下のようになります。
<?php $img = get_field('img'); $images = wp_get_attachment_image_src($img, 'サイズ'); $img_alt = get_post(get_field('img')); $alt = get_post_meta( $img_alt->ID, '_wp_attachment_image_alt', true ); ?> <img src="<?php echo $images[0]; ?>" alt="<?php echo $alt; ?>" height="<?php echo $images[2]; ?>" width="<?php echo $images[1]; ?>" >
Advanced Custom Fieldsの情報収集時、画像はIDの方が取り回しがいいって聞いいていたので、妄信的に返り値にIDを設定していたのですがalt
どうやって取得するんだろう?ってのが謎でした。_wp_attachment_image_alt
・・・・いろいろ便利な関数がありまありますね。