サポート » 使い方全般 » get_postsについて

  • 解決済 nibo57

    (@nibo57)


    「Advanced Custom Fields」を使って、管理画面(投稿画面)で記事のIDを入れると、コードに反映されて、その記事の情報がブラウザで表示されるようにしました。

    <div class="left">
    <?php $posts = get_posts('include=' .get_field('top_main_left'));
    foreach($posts as $post): ?>
    <p><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></p>
    <?php endforeach; ?>
    </div><!--//left-->

    上記の様に単発だと上手く表示されたのですが、下記の様に繰り返して記述すると、指定した記事以外も表示されるようになってしまいました。

    <div class="left">
    <?php $posts = get_posts('include=' .get_field('top_main_left'));
    foreach($posts as $post): ?>
    <p><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></p>
    <?php endforeach; ?>
    </div><!--//left-->
    
    <div class="right">
    <?php $posts = get_posts('include=' .get_field('top_main_right'));
    foreach($posts as $post): ?>
    <p><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></p>
    <?php endforeach; ?>
    </div><!--//right-->

    この様な使い方は間違っているのでしょうか?
    ご教示のほど宜しくお願い致します。
    ※PHP初心者です

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちは、試していませんが、

    endforeachの後で、wp_reset_postdata() するとどうですか?

    <?php endforeach; ?>
    <?php wp_reset_postdata();?>

    モデレーター jim912

    (@jim912)

    nobitaさんの修正と合わせて、変数名を $posts 以外にしてください。

    スレッド開始 nibo57

    (@nibo57)

    >nobitaさん
    早速のコメントありがとうございます。
    <?php wp_reset_postdata();?>を入れたところ無事に解決できました!

    何時間も悩んでいたので大変助かりました!!ありがとうございます!

    >jim912さん
    コメントありがとうございます。
    変数名はそれぞれ違う名称にした方が良いのですね。
    ご指摘いただいた通りに変えました。
    ありがとうございました!!

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「get_postsについて」には新たに返信することはできません。