86343


初心者です。  
今現在、ワードプレスでホームページを作ってます、  
カスタムフィールドで登録した画像をトップ・ページで表示する方法を試していますが、上手くいきません、

今現在は、single.phpで作成したもの、をトップページに持って来るようにPHPを書いています。  
画像と文章をカスタムフィールドに設定していて、  
文章はうまく表示されていますが画像は写真の通り表示できません。

固定ページのID は２です。  
また画像の名前は、participant-photo3です。  
返り値はURLにしてます。

HTMLを検証ツールで確認したところ、

となりました。 プラグイン Advanced Custom Fields を使用、

トップページ

ファイル名 front-page-php トップページ用のファイル

PHP

[code]

      <div class="list-content-third">
                    <div class="list-inner">
                        <div class="list-area">
                            <div class="list-area-title">
                                <p class="area-txt">早稲田大学国際教育学部AO入試合格!TOEFLiBT109点</p>
                            </div>
    ーーーー画像ーーーーーーー
                            <div class="list-img">
                                <div class="person-img">
                                <?php if (get_field('participant-photo3','2')) : ?>
                                        <img class="test-image" src="<?php the_field('participant-photo3'); ?>" />
                                    <?php endif; ?>
                                </div>
                            </div>
    ーーーーーーここまでーーーーーー
                                    <div class="list-area-txt">
                                        <div class="txt-item">
                                        <?php the_field('participant7', '2'); ?>
                                        </div>
                                        <div class="txt-item-second">
                                        <?php the_field('participant8', '2'); ?>
                                        </div>
                                    </div>
                                <div class="txt-item-third">
                                <?php the_field('participant9', '2'); ?>
                                </div>
                        </div>
                    </div>
    
[/code]

固定ページ用のファイル  
ファイル名 single.php

PHP

[code]

    <div class="list-content-third">
                    <div class="list-inner">
                        <div class="list-area">
                            <div class="list-area-title">
                                <p class="area-txt">早稲田大学国際教育学部AO入試合格!TOEFLiBT109点</p>
                            </div>
    ーーーー画像ーーーーーーー
                            <div class="list-img">
                                <div class="person-img-third">
                                    <?php if (get_field('participant-photo3')) : ?>
                                        <img class="test-image" src="<?php the_field('participant-photo3'); ?>" />
                                    <?php endif; ?>
                                </div>
                            </div>
    ーーーーーーここまでーーーーーー
                                    <div class="list-area-txt">
                                        <div class="txt-item">
                                            <p class="txt-item-area"><?php echo get_post_meta($post->ID, 'participant7', true); ?></p>
                                        </div>
                                        <div class="txt-item-second">
                                            <p class="txt-item-area-second"><?php echo get_post_meta($post->ID, 'participant8', true); ?></p>
                                        </div>
                                    </div>
                                <div class="txt-item-third">
                                    <p class="txt-item-area-third"><?php echo get_post_meta($post->ID, 'participant9', true); ?></p>
                                </div>
                        </div>
                    </div>
                </div> 
    
[/code]

画像のように３つ並んだ空白に画像を入れ、下の３つの白い枠に文字を入れます。  
こういった繰り返しの処理（ループ）をするのが一般的で、そういうコードにするべきでしょうか？

[![ページトップ](https://i.stack.imgur.com/3G5tF.png)](https://i.stack.imgur.com/3G5tF.png)


CC BY-SA 4.0
2022-02-14T13:47:31.633
86339
2022-02-15T01:48:08.717
2022-02-15T01:48:08.717
49042
49042
question
php wordpress
ワードプレスのカスタムフィールドで、画像を入れようとしてますが表示できません。


get_fieldでは第2引数にpostのidの2を指定して参照していますが、  
imgのsrcでは第2引数にpostのidを指定してません。

[the_field](https://www.advancedcustomfields.com/resources/the_field/)も[get_field](https://www.advancedcustomfields.com/resources/get_field/)もデフォルトは今のpostのidが利用されるようです。  
同様にpostのIDを指定すればいいと思います。  
正しいpostのIDはわからないので調査して同じpostのIDを設定してみてください。  
仮に2だとすれば以下のようなソースになると思います。

[code]

                        <?php if (get_field('participant-photo3', 2)) : ?>
                            <img class="test-image" src="<?php the_field('participant-photo3', 2); ?>" />
                        <?php endif; ?>
    
[/code]


CC BY-SA 4.0
2022-02-15T01:38:57.317
86343
2022-02-15T01:38:57.317
22665
86339
answer