0

各ブログ投稿にフィーチャー画像または高度な衣装フィールドを含む画像を追加すると、デフォルトのブログ ページ (index.php) にも画像が表示されます。

つまり、私のブログは 4 つの投稿があります。デフォルトのブログ ページには 4 つのブログ投稿が表示され、各ブログ投稿に設定された画像も表示されます。

画像を表示するヘッダーの私のものは次のとおりです。

if (have_posts()) : while (have_posts()) : the_post();

$attachment_id = get_field('banner_image');

if( get_field('banner_image') ):

$image = wp_get_attachment_image_src( $attachment_id, 'banner' );
?><img src="<?php echo $image[0]; ?>" alt="" width ="<?php echo $image[1]?>" height ="<?php echo $image[2]?>" /><?php
        endif;
        endwhile;
        endif;?>

次に、すべてのブログ投稿を index.php に出力するコード:

    if (have_posts()) : while (have_posts()) : the_post(); ?>

            <div class="news-artical">

            <?php the_title('<h1>', '</h1>');
            the_excerpt();
            //var_dump($post);
            ?> <hr>
            </div> <?php


     endwhile;

助けていただければ幸いです。

4

1 に答える 1

0

わかった。ヘッダーのコードは、各ページに表示されているすべての投稿をループします。単一の投稿ページでヘッダーのみに画像を表示する場合は、 if ( is_single() ) : または if ( is_singular() ) : 単一のページにもヘッダー画像を表示する場合は、条件にラップする必要があります。

if ( is_single() && have_posts()) : while (have_posts()) : the_post();

$attachment_id = get_field('banner_image');

if( get_field('banner_image') ):

$image = wp_get_attachment_image_src( $attachment_id, 'banner' );
?><img src="<?php echo $image[0]; ?>" alt="" width ="<?php echo $image[1]?>" height ="<?php echo $image[2]?>" /><?php
        endif;
        endwhile;
        endif;?>
于 2013-01-29T16:55:22.013 に答える