閲覧ありがとうございます。
当方wordpressおよびphpの勉強をしております。
【実現したいこと】
カスタム投稿記事を検索した結果のページにページネーションを設置する
【現状】
カスタム投稿のみを検索対象に検索するフォームを作成しており、機能しています。
(1)その検索結果のページに使用しているテーマに用意されているページネーションを設置したところ、2ページ目以降のリンクが踏めず正常に機能していません。また想定される件数よりも多くのページも表示されます。
(2)そこで、ページネーションを自作してみようと考え、google検索を参考に以下のコードを記述しました。
しかし、このコードでは、検索結果の件数に関わらず、カスタム投稿タイプ"test"の全ての件数のページネーションを作成してしまうことに気づきました。$listを変更すればよいのかと考えましたが、変更すべき内容がわかりません。
<?php $paged = get_query_var('paged') ? get_query_var('paged') : 1 ; //argsの準備 $args = array( 'post_type' => 'test', 'posts_per_page' => 10, 'paged' => $paged ); //the_queryの準備 $the_query = new WP_Query($args); ?> //////////中略//////////// <div class="pagination"> <?php global $wp_query; $list = new WP_Query("post_type=test&paged=$paged"); $max_num_pages = $list->max_num_pages; // これで取れる $big = 999999999; echo paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $max_num_pages ) ); ?> </div>
【質問内容】
(1)(2)どちらを利用するケースでも構いませんので、カスタム投稿タイプの検索結果のページネーションを正常に表示させる方法をご教授いただきたいです。もし(1)(2)以外の方法に簡単に実装できる方法がありましたらそちらでも結構です。
よろしくお願いいたします。