• 解決済 benkei

    (@benkei)


    先日Advanced Custom Fieldsのアドオン、
    「Repeater Field(繰り返しフィールド)」を購入したのですが、
    画像サイズを指定して出力したいため、下記のような記述をしたのですが、
    うまく出力されません。

    皆様、お知恵をお貸しいただけませんでしょうか。

    フィールド名:gallery
    繰り返しフィールド:gallery01 返り値:画像オブジェクト

    ▼function.php

    add_theme_support('post-thumbnails');
    add_image_size('custom-image', 400, 250, true);

    ▼single-gallery.php(カスタムテンプレート)

    <?php while(the_repeater_field('gallery')): ?>
    <?php
        if(get_sub_field('gallery01')){
          $image = wp_get_attachment_image_src(get_sub_field('gallery01'), 'custom-image');
          echo '<img src="'.$image[0].'" alt="" >';
        }
        ?>
    <?php endwhile; ?>

    ▼出力結果
    <img src="" alt="">

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • wp_get_attachment_image_src() の第一引数は、画像ID(画像のポストID)です。画像オブジェクトではありません。

    トピック投稿者 benkei

    (@benkei)

    pluto1234さん。
    ご回答ありがとうございます。
    返り値:画像IDに設定しましたが、imgのsrcにそのままIDが出力されました。
    返り値を画像のURLにすると出力されるのですが、サイズが変更されません・・。

    トピック投稿者 benkei

    (@benkei)

    <?php
    	if(get_sub_field('gallery01')) :
    	$image = wp_get_attachment_image_src(get_sub_field('gallery01'), 'custom-image');
    	echo '<li><img src="'.$image[0].'" alt="'.get_the_title().'" ></li>';
    	endif;
    ?>

    いろいろ調べて、上記の書き方に変更すると、
    返り値がIDでうまく表示できました。
    ただ、サイズはCSSで指定しないと、フルサイズで表示されます・・・、
    なので、下記で表示するのと変わらないですね・・。
    <li><img src="<?php the_sub_field('gallery01'); ?>" alt="<?php the_sub_field('alt'); ?>">

    今回の目的はどの大きさで上げた画像も、同じサイズで表示させたかったので、
    もう少し、解決済は保留させて下さい。

    wp_get_attachment_image_srcでcustom-imageと指定している部分をarray(400,250)でもダメでしょうか?
    メディアにアップロードされた際にちゃんと400*250の画像ファイルは作られていますか?
    add_image_sizeは画像のサイズを追加するだけなので、以前からアップロードされていたメディアはそのサイズの画像が作成されなかったきがします。

    私は
    $attachment_id = get_sub_field(‘field-name’);$size = ‘size-name’;$image = wp_get_attachment_image_src( $attachment_id, $size );
    としています。

    トピック投稿者 benkei

    (@benkei)

    gogowebさん
    ありがとうございます。
    gogowebさんのおっしゃるとおりでした^^;
    もともと登録していた画像を使っていました。
    新たにアップし直すことで、無事解決いたしました。
    丸一日使って調べましたが、あっさり片付いてしましました・・。
    盲点でした。
    本当にありがとうございました。

    orangethymeさん
    ご回答ありがとうございます。
    orangethymeさんの方法でもうまく動きました。
    使用させていただきます!
    ありがとうございます!

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「Advanced Custom Fields 画像が出力されません」には新たに返信することはできません。