Back to Blog

Advanced Custom Fieldsの画像フィールドの使い方と応用方法

WordPress

2024/03/16

画像の表示(返り値:オブジェクト)


<?php $image = get_field('image'); if( !empty($image) ): ?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
<?php endif; ?>

画像の登録が絶対にあるならシンプルにこんな書き方もできます。
<img src="<?php $image = get_field('image'); echo $image['sizes']['medium']; ?>" />

画像の URL やタイトルなどを個別に取り出す場合はこちら。


<?php
$image = get_field('image');
if( !empty($image) ):
// 画像から各種値を取り出す
$url = $image['url']; // URL
$title = $image['title']; // タイトル
$alt = $image['alt']; // 代替テキスト
$caption = $image['caption']; // キャプション
$description = $image['description']; // 説明
// thumbnail
$size = 'thumbnail'; // 画像サイズ thumbnail(サムネイル), medium(中サイズ), large(大サイズ), full(元画像)
$thumb = $image['sizes'][ $size ]; // 指定したサイズのサムネイルのURL
$width = $image['sizes'][ $size . '-width' ]; // 横幅
$height = $image['sizes'][ $size . '-height' ]; // 高さ
?>
<a href="<?php echo $url; ?>" title="<?php echo $title; ?>">
<img src="<?php echo $thumb; ?>" alt="<?php echo $alt; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" />
</a>
<p>
<?php echo $caption; ?>
<?php echo $description; ?>
</p>
<?php endif; ?>

※画像サイズで full が選べない場合があります。表示されない場合は、画像配列を print_r() で出力して、希望する値を持っているかを確認してください。

画像の表示(返り値:URL)
次のコードは、画像の返り値がURLの場合の表示方法です。


<?php if( get_field('image') ): ?>
<img src="<?php the_field('image'); ?>" />
<?php endif; ?>

画像の登録が絶対にあるならシンプルにこんな書き方もできます。
<img src="<?php the_field('image'); ?>" />

画像の表示(返り値:ID)
次のコードは、画像の返り値がIDの場合の表示方法です。
返り値が ID なので wp_get_attachment_image を使ってイメージタグを含めて出力します。

<?php
$image = get_field('image');
$size = 'full'; // (thumbnail, medium, large, full or custom size)
if( $image ) {
echo wp_get_attachment_image( $image, $size );
}
?>

画像の登録が絶対にあるならシンプルにこんな書き方もできます。
<?php echo wp_get_attachment_image(the_field('image'),'large'); ?>

元画像の表示方法
返り値がオブジェクトの時に、フルサイズ(元画像)を表示する方法を紹介します。

<?php
$image = get_field('image');
if( !empty($image) ):
$url = $image['url']; // 画像URLを取得
?>
<img src="<?php echo $url; ?>">
<?php endif; ?>

Related Posts