• 解決済 Anonymous User

    (@anonymized-18839617)


    以下の質問のアドバイスを参考に、カスタム投稿の一覧を作成しました。
    ページングも問題なく動いております。

    https://ja.wordpress.org/support/topic/カスタム投稿一覧を並び替えるプラグインはあり/

    ターム別一覧のページを作成したいと思い、下記の通りコードを変更し、1ページ目は思った通りタームで絞り込むことができましたが、2ページ目以降が空白になってしまいました。

    $here = str_replace('/' , '' , str_replace('/【イベント用のタクソノミー】/','',$_SERVER['REQUEST_URI']));

    // イベントを、
    // 終了していないものを開催日時の昇順のクエリ と
    // 終了したものを終了日時の降順のクエリに分けて、
    // ふたつのクエリをページング用に合体

    // カスタム投稿名
    $post_type = 'event';
    $current_date = wp_date( 'YmdHis' ); //今日の日付取得

    // 終了していないイベントを開催日時の昇順で並び替えたクエリ
    $args1 = get_posts( array(
    'post_type' => $post_type,
    'posts_per_page' => -1,
    'paged' => get_query_var('paged'),
    'post_status' => "publish",
    'meta_key' => '【イベント開始日時】',
    'orderby' => 'meta_value',
    'order'=> 'ASC', // 昇順
    'type' => 'DATE', // 日付で比較
    'meta_query' => array(
    'relation' => 'AND',
    array(
    'key' => '【イベント終了日時】',
    'value' => $current_date,
    'compare' => '>=', // イベント終了日時が今よりあと( = 終了していない)
    'type' => 'DATE' // 日付で比較
    )
    ),
    'tax_query' => array(
    array(
    'taxonomy' => '【イベント用のタクソノミー】', // タクソノミー(スラッグ)
    'field' => 'slug', // スラッグをキーにして投稿を取得する旨の指定
    'terms' => $here, // ターム(スラッグ)
    'operator' => 'IN'
    ),
    )
    ));
    // 終了したイベントを終了日時の降順で並び替えたクエリ
    $args2 = get_posts( array(
    'post_type' => $post_type,
    'posts_per_page' => -1,
    'paged' => get_query_var('paged'),
    'post_status' => "publish",
    'meta_key' => '【イベント終了日時】',
    'orderby' => 'meta_value',
    'order'=> 'DESC', // 降順
    'type' => 'DATE', // 日付で比較
    'meta_query' => array(
    'relation' => 'AND',
    array(
    'key' => '【イベント終了日時】',
    'value' => $current_date,
    'compare' => '<', // イベント終了日時が今より前( = 終了した)
    'type' => 'DATE' // 日付で比較
    )
    ),
    'tax_query' => array(
    array(
    'taxonomy' => '【イベント用のタクソノミー】',
    'field' => 'slug',
    'terms' => $here,
    'operator' => 'IN'
    ),
    )
    ));

    $new_query = new WP_Query();
    $posts = array_merge( $args1, $args2 );

    色々調べて、表示設定の最大ページあたり表示件数と’posts_per_page’が違うのが原因の場合があるということで、’posts_per_page’を表示設定と同じにしても状況は変わりませんでした。
    ‘paged’がない場合に同じ状況になるという情報もありましたが、’paged’を色々変えてみても、やはり2ページ目以降は空白でした。

    taxonomy.phpは、ページングも問題なく表示できているarchive.phpをコピーし、上の部分のみ変更したものです。

    ‘posts_per_page’と’paged’以外に考えられる原因はないらしいことまではわかったのですが、どのようにすれば2ページ目以降も表示できるのかまったくわからず、悩んでおります。
    ほかに考えられる原因はありますでしょうか。

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

    (@anonymized-18839617)

    原因を調べていくとテーマの問題ではない気がしてきたのと、問題ないと思っていたarchive.phpでも似たような問題があることが分かったので、この質問は閉じさせていただきます。
    ありがとうございました。

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