質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1292閲覧

wp 絞り込み検索後の2ページ目以降が出てこない

okaka33

総合スコア2

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/06/18 08:14

編集2021/06/20 06:09

前提・実現したいこと

絞り込み検索後に正常に数字はでてきているのですが
ページネーションのリンク先があっていないせいか
「ページが見つかりませんでした」とタブに記載されており
トップページの画面へリダイレクトしてしまいます。

もし、原因や対処方法などご存知の方がいらっしゃったら教えていただけないでしょうか?
お手数をおかけしますがよろしくお願い致します。

該当のソースコード

functions.php

function eventPagination($pages = "", $range = 2){ $showitems = ($range * 1) + 1; global $paged; if(empty($paged)) $paged = 1; if($pages == ""){ global $sub_query; $pages = $sub_query -> max_num_pages; if(!$pages){ $pages = 1; } } if(1 != $pages){ if($paged > 1) echo "<li class=\"c-pageNation__page\"><a href='".get_pagenum_link($paged - 1)."'><i class=\"fas fa-angle-left\"></i></a></li>"; for ($i=1; $i <= $pages; $i++){ if (1 != $pages &&( !($i >= $paged + $range + 1 || $i <= $paged - $range - 1) || $pages <= $showitems)){ echo ($paged == $i)? "<li class=\"c-pageNation__page is-active\"><a href='".get_pagenum_link($i)."'>".$i."</a></li>": "<li class=\"c-pageNation__page\"><a href='".get_pagenum_link($i)."'>".$i."</a></li>"; } } if($paged < $pages) echo "<li class=\"c-pageNation__page\"><a href='".get_pagenum_link($paged + 1)."'><i class=\"fas fa-angle-right\"></i></a></li>"; } }

対象ページのphp

<aside class="l-aside"> <div class="p-aside"> <form role="search" method="get" action="<?php echo esc_url(home_url("/")); ?>"> <p class="p-aside_text">イベントを検索する</p> <dl class="p-aside__selectList"> <dt class="p-aside__listTitle">種目</dt> <dd class="p-aside__selectWrap"> <select class="p-aside__select" id="p-aside__select" name="sports"> <option value="">選択してください</option> <?php $terms = get_terms("sports"); foreach ($terms as $term): $selected = (isset($_GET["sports"]) && $_GET["sports"] == $term->slug) ? true : false; ?> <option value="<?php echo $term->slug; ?>"<?php if($selected) echo "selected" ?>><?php echo $term->name; ?></option> <?php endforeach; ?> </select> </dd> <dt class="p-aside__listTitle">都道府県</dt> <dd class="p-aside__selectWrap"> <select class="p-aside__select" name="prefectures"> <option value="0">選択してください</option> <?php $terms = get_terms("prefectures"); foreach ( $terms as $term ): $selected = (isset($_GET["prefectures"]) && $_GET["prefectures"] == $term->slug) ? true : false; ?> <option value="<?php echo $term->slug; ?>"<?php if($selected) echo "selected" ?>><?php echo $term->name; ?></option> <?php endforeach; ?> </select> </dd> </dl> <input type="hidden" name="s" value="<?php the_search_query(); ?>"> <p class="p-aside__buttonWrap"><input type="submit" class="p-aside__button c-button" value="検索"></input></p> </form> </div> </aside> <main class="l-main"> <div class="p-event"> <ul class="p-event__cards" id="p-event__cards"> <?php $hoge = $_GET["sports"]; $hoge2 = $_GET["prefectures"]; $args = array( "post_type" => "post", "posts_per_page" => 1, "paged" => $paged, "category_name" => "article_event", "s" => get_search_query(), "tax_query" => array( array( "taxonomy" => "sports", "terms" => $hoge, "field" => "slug", "operator" => "AND" ), array( "taxonomy" => "prefectures", "terms" => $hoge2, "field" => "slug", "operator" => "AND" ), ) ); $sub_query = new WP_Query( $args ); if ( $sub_query->have_posts() ): while ( $sub_query->have_posts() ): $sub_query->the_post(); ?> <li class="p-event__cardWrap"> <a class="c-card" href="<?php the_permalink(); ?>"> <p class="c-card__thumbnail" style="background-image: url(<?php echo wp_get_attachment_url(get_post_thumbnail_id($post_id)); ?>)"></p> <dl class="c-card__itemList"> <dt class="c-card__itemTitle">大会名</dt> <dd class="c-card__itemData"> <?php if(mb_strlen(get_field("大会名"))>15) { $hoge= mb_substr(get_field("大会名"),0,14) ; echo $hoge. … ;} else {echo get_field("大会名");} ?> </dd> <dt class="c-card__itemTitle">チーム名</dt> <dd class="c-card__itemData"> <?php if(mb_strlen(get_field("チーム名"))>15) { $hoge= mb_substr(get_field("チーム名"),0,14) ; echo $hoge. … ;} else {echo get_field("チーム名");} ?> </dd> <dt class="c-card__itemTitle">場所</dt> <dd class="c-card__itemData"> <?php if(mb_strlen(get_field("場所"))>15) { $hoge= mb_substr(get_field("場所"),0,14) ; echo $hoge. … ;} else {echo get_field("場所");} ?> </dd> <dt class="c-card__itemTitle">日時</dt> <dd class="c-card__itemData"> <?php if(mb_strlen(get_field("日時"))>18) { $hoge= mb_substr(get_field("日時"),0,17) ; echo $hoge. … ;} else {echo get_field("日時");} ?> </dd> </dl> </a> </li> <?php endwhile; endif; wp_reset_postdata(); ?> </ul> <ul class="c-pageNation"> <?php eventPagination($sub_query -> max_num_pages); ?> </ul> </div>

補足情報(FW/ツールのバージョンなど)

検索後のURL表記は下記のようになっております(一部の項目を選択時)

検索前
http://localhost:8888/ページタイトル/event/

検索後(↓2ページのURLです)
http://localhost:8888/ページタイトル/page/2/?sports&prefectures=%25e5%259f%25bc%25e7%258e%2589%25e7%259c%258c&s

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

上記、自己解決できました。
表示設定を変更したら解決されました。

投稿2021/06/20 07:54

編集2021/06/20 07:55
okaka33

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問