-
投稿者投稿
-
2022年4月5日 9:24 AM #102469
### 前提
本件はGPL的に応援できないプラグインとの兼ね合いで発生しており、フォーラムの範囲を超えるかもしれません。その場合、もし有料にてご解決いただける場合はご案内いただけますと幸いです。
調査用のログインアカウントが必要でしたら発行させていただきます!!!
### 情報
【お使いの Snow Monkey のバージョン】
バージョン: 16.4.6【お使いのブラウザ】
Google Chrome
バージョン: 100.0.4896.60(Official Build) (x86_64)【当該サイトのURL】
(管理者により削除)
### 発生している問題
カスタム投稿タイプの検索で「SDGs」と検索し(【当該サイトのURL】の状態)、ページネーションの2ページ目をクリックすると404になります。しかしテンプレートはあたらないようです。2ページ目のURLは次になります。
(管理者により削除)
カスタム投稿タイプの作成やその検索はToolsetというプラグインを使用しています(このプラグインはGPL的にコミュニティ的に応援できないものです)。まずこちらのフォーラムに問い合わせたところ、先にテーマに問い合わせてほしいとのことでした。
### 試したこと
- 本件の動作に関係のなさそうなプラグインの停止 → 影響なし
- テーマの変更 → 「Twenty Twenty-One」の場合、正常に表示される
- 検索キーワード → 日本語(例えば「助成金」)の場合、正常に表示される
いろいろと大変申し訳ございません。宜しくお願いいたしますm(_ _)m
2022年4月5日 9:27 AM #102470### 試したこと(追加)
違うブラウザ(Safari、Fire Fox(共にMac環境))でも試しましたが、同様でした!
♥ 0いいねをした人: 居ません2022年4月5日 10:10 AM #102480TwentyTwentyOne で表示されるということは Snow Monkey になにかありそうですね。archive 以外のテンプレートがあたってしまう、404 テンプレートがあたってしまう、ということならまだわかる気がするのですが、画面自体表示されないというのが不思議ですね…。
ちょっと実際にサーバーに入ってコードを直接触って調査しないとわからないと思うので、WordPress のログインアカウントと、FTP のアカウントを発行いただくことは可能でしょうか? 本番サーバーで直接操作するのがまずいということであれば、本番と同じデータが入ったテストサーバーを用意いただくか、あるいは All-in-One WP Migration などでデータを提供いただいて、こちらのローカルでテストするのでも大丈夫です。
ご検討のほどよろしくお願いいたします。
2022年4月6日 10:27 AM #102543原因わかりました。どうもお使いのプラグインは検索結果の2ページ目以降が HTTP 的に 404 ステータスになる仕様&2ページ目以降は
index.php
を使用する、という仕様のようでした。Snow Monkey は
index.php
が空なので、index.php
を使用しようとした結果、何も表示されない、ということになるようです。ということで、下記の2つの方法が考えられます。
// 2ページ目以降を HTTP ステータス 404 じゃなくする add_filter( 'pre_handle_404', function( $preempt, $wp_query ) { if ( ! empty( $wp_query->query['paged'] ) && ! empty( $wp_query->query['post_type'] ) && 'sp-subsidy' === $wp_query->query['post_type'] ) { status_header( 200 ); return true; } return $preempt; }, 10, 2 );
// HTTP ステータスは 404 のままで、index.php ではなく archive.php を使用する add_filter( 'snow_monkey_controller', function( $controller ) { $paged = get_query_var( 'paged' ); $post_type = get_query_var( 'post_type' ); if ( $paged && 'sp-subsidy' === $post_type ) { return get_theme_file_path( 'archive.php' ); } return $controller; } );
どちらでも表示はされると思うので、404 ステータスのままにするかどうかで好きなほうを選ばれると良いのかなと思います。もしかしたらプラグイン的には404であるべきという仕様で他の部分が動いている可能性もあるので、その場合は後者一択かもしれません。
2022年4月7日 12:15 PM #102626キタジマさんありがとうございます!お返事が遅くなり申し訳ありません。。。
ご教授いただいた二つ目の方法で無事解決いたしました!!!ありがとうございます(T0T)
一点だけ、元々「検索キーワードが日本語の場合は archive.php が正常に当たるのはなぜか」という疑問が残りました。
どうもお使いのプラグインは検索結果の2ページ目以降が HTTP 的に 404 ステータスになる仕様&2ページ目以降は index.php を使用する、という仕様のようでした。
ですので、仕様について「キーワードが日本語の場合と英語の場合で挙動が違うのか」ということを、現在プラグイン側に問い合わせています。
進展がありましたら、お知らせいたしますので、もう少しトピックを閉じずにいますね。(一回閉じた方が宜しければ閉じます!)
2022年4月9日 12:00 AM #102726仕様について「キーワードが日本語の場合と英語の場合で挙動が違うのか」
こちら問い合わせた結果、「テーマ側の担当範囲の話である」とのことでした。
当初困っていた問題は既に解決しているので、これにてトピックを閉じさせていただきたいと思います。
「日本語の場合はなぜ正常に動作するのか」について、もしSnow Monekyさんの利益になるならご調査いただけますと幸いです & 引き続き調査協力させてください。そうでもなければ、終了していただいて私の方は問題ありません。万が一また困り事が出たら相談させてくださいませ(すみません…良い表現が見つからず横柄な感じになっていたら本当にすみません)。
この度は誠にありがとうございました!!!!!!!
追伸:
お手数をお掛けして申し訳ありません、最初の投稿のURLを削除をお願いいたします。2022年4月9日 7:04 AM #1027322022年4月11日 9:37 AM #102800仕様について「キーワードが日本語の場合と英語の場合で挙動が違うのか」
こちら問い合わせた結果、「テーマ側の担当範囲の話である」とのことでした。
調べてみました。これ、TwentyTwentyOne でも英語検索だと2ページ目以降が404ステータスになる(けど
index.php
があるからページは表示される)ので、テーマではなくてプラグイン側が怪しいと思います。一応プラグインも見てみたのですが、Toolset 関連のプラグインが複数あり、それぞれが結構複雑でちょっとどこでどうなっているかわかりませんでした。ということで、Snow Monkey は
index.php
が空なので、やはり前述のコードを追加するのがベストかなと思います。2022年4月11日 3:16 PM #102844引き続き返信をくださっていることに今気づきました!ありがとうございます!!!
今回の件に関係あるのはToolset Types(カスタム投稿タイプを作る)とViews(ループの見栄えを良くしたり、検索機能をつける)です。FormsとLayoutは停止しても問題ないかと思います。
>テーマではなくてプラグイン側が怪しいと思います。一応プラグインも見てみたのですが、Toolset 関連のプラグインが複数あり、それぞれが結構複雑でちょっとどこでどうなっているかわかりませんでした。
ありがとうございます…(T-T)
>やはり前述のコードを追加するのがベストかなと思います。
承知しました!プラグインのフォーラムにはこれ以上は期待できなさそうで、完全究明にならず申し訳ないのですが、大変助かりました。本当にありがとうございました!!!
-
投稿者投稿
- トピック「ページネーション2ページ目以降が表示されない」には新しい返信をつけることはできません。