[ 解決済 ] カスタムフィールドの画像出力について

VWSとは フォーラム Lightning [ 解決済 ] カスタムフィールドの画像出力について

[ 解決済 ] カスタムフィールドの画像出力について

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #65544

    久田裕己
    閲覧者

    ■ WordPress のバージョン
    6.0

    ■ テーマ・プラグインは全て最新版で確認してください。
    確認しました。

    ■ テーマの種類
    Lightning ( G3 )

    ■ テーマのバージョン
    14.18.1

    ■ スキンの種類
    Origin III

    ■ 関連しそうなプラグインを一つづつ停止して症状が改善するか確認してください。
    確認しました。

    ■ 期待する動作
    初歩的な質問で申し訳ございません。

    「Advanced Custom Fields」を使い、カスタムフィールドを作成しました。
    投稿詳細ページに呼び出しをしたいです。

    ■ 自分で試した事

    カスタムフィールドの表示について

    こちらの動画を参考にテキストは呼び出しができたのですが、画像が表示されません。
    自分なりにコードを調べて書いてみたのがこちらです。

    —————–

    function my_add_bukken_info($post){
    // カスタムフィールドの値など独自に表示したい要素
    global $post;
    $append_html .= ‘<p>’ . esc_html( $post->report_txt ) . ‘</p>’;
    $append_html .= the_field( $post->report_img1 );
    $append_html .= the_field( $post->report_img2 );
    $append_html .= the_field( $post->report_img3 );
    $append_html .= ‘<p>’ . esc_html( $post->cabinet_txt ) . ‘</p>’;
    $append_html .= ‘<p>’ . esc_html( $post->cabinet_txt2 ) . ‘</p>’;
    echo $append_html;
    }

    add_action( ‘lightning_entry_body_apppend’, ‘my_add_bukken_info’ );

    ———————–

    ■ 症状が発生するブラウザ
    クローム

    ■ 実際の症状
    $append_html .= the_field( $post->report_img1 );
    $append_html .= the_field( $post->report_img2 );
    $append_html .= the_field( $post->report_img3 );

    の部分に画像を呼び出したいのですができない状態です。
    よろしくお願いいたします。

    #65560

    おそらく

    $append_html .= $post->report_img1;

    $append_html .= the_field( ‘report_img1’ );

    のどちらかを使う感じじゃないですかね?

    $post->カスタムフィールド名 は、WordPress標準で使える呼び出し方なので、この時点で値が返ってきます。

    the_field() は ACF 固有の関数で the_field( ‘フィールド名’ ); のように使うので $post-> は不要です。

    #65635

    久田裕己
    閲覧者

    石川様ご回答ありがとうございます。
    返信が遅れ大変申し訳ございませんでした。

    自分なりに再度調べ直し下記の記述で、無事画像出力ができるようになりました。

    —————-

    function my_add_bukken_info($post){
    	// カスタムフィールドの値など独自に表示したい要素
    	global $post;
    	$append_html .= '<p>' . esc_html( $post->report_txt ) . '</p>';
    	$images = get_field('report_img1');
    	if($images){echo '<img src="'.$images['url'].'" />';};
    	$images = get_field('report_img2');
    	if($images){echo '<img src="'.$images['url'].'" />';};
    	$images = get_field('report_img3');
    	if($images){echo '<img src="'.$images['url'].'" />';};
    	$images = get_field('report_img4');
    	if($images){echo '<img src="'.$images['url'].'" />';};
    	$images = get_field('report_img5');
    	if($images){echo '<img src="'.$images['url'].'" />';};
    	echo $append_html;
    }

    —————–

    重ねての質問で申し訳ございません。こちらの記述ですと画像は無事出力されるのですが、テキスト部分が必ず一番下に移動してしまいます。
    カスタムフィールドのテキスト部分を1番目にしても改善が有りませんでした。
    記述が間違っているのでしょうか?

    #65687

    アクションフックではなくフィルターフックなので、変数に入っている中身を書き換えて返すだけが正しい処理です。

    途中で echo すると意図しない場所にいきなり表示されるので、処理内で echo を使ってはいけません。
    $append_html の中に格納して、return で返してください。

    Lightning 投稿一覧カスタマイズ徹底解説

    #65813

    久田裕己
    閲覧者

    石川様ご回答ありがとうございます。
    返信が遅れ大変申し訳ございませんでした。

    そうなのですね。アクションフックではなくフィルターフック・・・
    この2つの違いも曖昧でした。

    参考動画とても助かります!
    もう一度勉強し直して、記述を見直したいと思います。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。