Support » Plugin: XO Featured Image Tools » ACF Pro のギャラリーイメージ

  • Resolved mayumibk

    (@mayumibk)


    こんにちは。いつも Posts のアイキャッチに愛用させていただいております。

    この度、新たに Custom Post Type にも利用させていただこうとしたところ、思い通りに行かず、相談させていただいております。
    こちらの custom post に対しては、Advanced Custom Fields Pro の Gallery というカスタムフィールドを追加し、その中に画像を設定しています。投稿本文には画像を入れておりません。
    参考: https://www.advancedcustomfields.com/resources/gallery/

    Gallery 内から、featured image にセットする画像を自動的に取得することは難しいでしょうか?
    なお、ギャラリーの画像はメディアライブラリに格納されています。

    お手隙の際に、ご返信いただければ幸いです。よろしくお願いいたします。

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author ishitaka

    (@ishitaka)

    こんにちは

    プラグインは、カスタムフィールドには対応していません。
    テーマの functions.php を編集可能であれば、下記のようなコードでできるかもしれません。

    function acf_set_featured_image( $value, $post_id, $field ) {
    	if ( $value ) {
    		add_post_meta( $post_id, '_thumbnail_id', $value );
    	}
    	return $value;
    }
    add_filter( 'acf/update_value/name=〇〇〇', 'acf_set_featured_image', 10, 3 );

    ※ 〇〇〇 はフィールド名。

    参考ページ: Advanced Custom Fieldsで作ったカスタムフィールドの画像をアイキャッチ画像にする

    • This reply was modified 4 months, 2 weeks ago by ishitaka.
    Plugin Author ishitaka

    (@ishitaka)

    ※ 投稿が重複したため削除しました。

    • This reply was modified 4 months, 2 weeks ago by ishitaka.
    Thread Starter mayumibk

    (@mayumibk)

    ご返信どうもありがとうございます。
    上記はイメージフィールドを取得する場合のコードで、残念ながらそのままでは動かず。

    拾い物ですが、ギャラリーフィールドの最初の画像を取得する場合、これで実現できました!
    同じ情報を探している方のために共有させていただきます。

    add_filter('acf/save_post', 'gallery_to_thumbnail',11,11);
    function gallery_to_thumbnail ($post_id) {
    	$gallery = get_field('フィールド名', $post_id, false);
    	var_dump($gallery);
    	var_dump($post_id);
    if ($gallery) {
    	$image_id = $gallery[0];
    	set_post_thumbnail($post_id, $image_id);
      }
    }

    @ishitaka 様、仕様外の機能の質問にもかかわらずご対応いただき、どうもありがとうございました。

    • This reply was modified 4 months, 2 weeks ago by mayumibk.
Viewing 3 replies - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.