サポート » 使い方全般 » WP_User_Queryでページングができない

  • 解決済 carecafe

    (@carecafe)


    プラグイン「WP-PageNavi」を使ってWP_User_Queryでのページングを試みていますが、うまく機能しません。色々なサイトをみて勉強し、下記のように記述しました。

    <?php
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $paged -= 1;
        $limit = 20;
        $offset = $paged * $limit;
        $args = array(
            'number' => $limit,
            'offset' => $offset,
        );
    $users = new WP_User_Query($args);
    foreach($users->results as $user):
    ?>
      ~ 省略 ~
    
    <?php endforeach; ?>
    
    <?php
        wp_pagenavi(array(
            'query' => $users,
            'type' => 'users'
        ));
    ?>

    検索結果は表示され、ページナビも表示されるのですが、
    2ページ目以降のリンクを押しても下記のエラーが出てしまいます。

    「ご指定の検索条件に合う投稿がありませんでした。他のキーワードでもう一度検索してみてください。」

    どのようにすれば2ページ目以降にも表示されるようになるでしょうか。
    お手上げ状態です。どなたかご教授して頂けませんでしょうか。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • pluto1234

    (@pluto1234)

    $paged を -1 しているのがまずいのではないでしょうか?
    興味があったので試してみましたが、これでバッチリ動いています。

    <?php
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        //$paged -= 1;
        $limit = 20;
        $offset = ($paged - 1) * $limit;  // 変更
        $args = array(
            'number' => $limit,
            'offset' => $offset,
        );
        :
        :
    ?>

    トピック投稿者 carecafe

    (@carecafe)

    pluto1234様

    試して頂きありがとうございました。
    早速、上記のように$pagedを($paged – 1)に変更してみましたが、
    今度は表示されていた検索結果がまったく表示されなくなりました。
    一番下にページングは存在していたのですが、「2」や「3」を押しても同じようにエラーになります。

    pluto1234

    (@pluto1234)

    私はうまく表示されているとしかいいようがありません。
    http://darkmatter.main.jp/wp/sample-page/
    ちなみに、固定ページです。

    トピック投稿者 carecafe

    (@carecafe)

    pluto1234様

    色々調べていただいてありがとうございました。
    おかげさまで解決できました。

    私は、表示される固定ページのスラッグを「search」にし、page-search.phpを作っていたのですが、そうすると、どうも元からある「serach.php」とかぶってしまっていたようです。
    スラッグを別のものに変更することで、正常に表示することができました。
    本当にありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「WP_User_Queryでページングができない」には新たに返信することはできません。