サポート » 使い方全般 » wp_queryを1ページに複数設置したら、ひとつ目のループしか効かない

  • 解決済 brtu5y4

    (@slime0099)


    あるサイトでこのような構造で制作しております。

    index.php(日本語版トップページ)
    en/index.php (英語版トップページ)

    wp/ (WordPressのファイルなどが入ったディレクトリ)

    トップページに3種類のニュース(カスタム投稿)を表示させるようにしています。
    各種ヘッダーの一番上にはWordPressの情報を読み込むために

    <?php require(‘../ms/wp-load.php’); ?>

    と記述しております。

    Wp_queryは下記のように極普通のものです。これをあと2つ、csr_enとir_enのループを設置しています。

    <?php
    $args = array(
    ‘post_type’ => array(‘news_en’,),
    ‘order’ => ‘DESC’,
    ‘posts_per_page’ => 5,
    ); ?>
    <?php $my_query = new WP_Query( $args ); ?>
    <?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?>

    ループ内容

    <?php endwhile; wp_reset_postdata(); ?>
    しかし、、英語版では一番最初のループしか反応しません。
    news_enとir_enとcsr_enの3つが最初のループで全て出力されてしまうのです。

    それぞれに設定した posts_per_pageの表示件数は合っています。

    同じループで全て羅列されてしまいます。
    英語のページだけこういう症状が出るのが不思議です..。

    どなたがお知恵を拝借させていただけないでしょうか?
    宜しくお願い致します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 brtu5y4

    (@slime0099)

    index.phpに
    <?php require(‘../wp/wp-load.php’); ?>

    ではなく

    <?php require(‘../wp/wp-blog-header.php’); ?>

    とすると動きました。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「wp_queryを1ページに複数設置したら、ひとつ目のループしか効かない」には新たに返信することはできません。