サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
不具合報告
15
投稿
3
ユーザー
1
Reactions
298
表示
トピックスターター 2024年7月14日 00:42
サイトURL: https://oawc.jp/
こちらのサイトで404ページがCocoonデフォルト設定から変えていないにも関わらず、いつの間にか「ご意見・体験談の紹介ページで記事がない」のようなページになるようになっていました。(添付画像参照)
404ページになるURL例: https://oawc.jp/page-not-found/
Cocoonデフォルトの404ページに戻したいのですが、どうしたらよいのか全くわかりません。
対処の仕方をご教示いただけますでしょうか。
----------------------------------------------
サイト名:女性専用車両に反対する会
サイトURL: https://oawc.jp
ホームURL: https://oawc.jp
コンテンツURL:/wp-content
インクルードURL:/wp-includes/
テンプレートURL:/wp-content/themes/cocoon-master
スタイルシートURL:/wp-content/themes/cocoon-child-master
親テーマスタイル:/wp-content/themes/cocoon-master/style.css
子テーマスタイル:/wp-content/themes/cocoon-child-master/style.css
スキン:/wp-content/themes/cocoon-master/skins/skin-ganchan12/style.css
WordPressバージョン:6.5.5
PHPバージョン:7.4.27
ブラウザ:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 OPR/111.0.0.0
サーバーソフト:Apache
サーバープロトコル:HTTP/2.0
エンコーディング:gzip, deflate, br, zstd
言語:ja,en-US;q=0.9,en;q=0.8
----------------------------------------------
テーマ名:Cocoon
バージョン:2.7.4.3
カテゴリー数:8
タグ数:0
ユーザー数:8
----------------------------------------------
子テーマ名:Comargin-block-startcoon Child
バージョン:1.1.2
style.cssサイズ:21591 バイト
functions.phpサイズ:3681 バイト
----------------------------------------------
Gutenberg:1
Font Awesome:4
Auto Post Thumbnail:0
Retina:0
ホームイメージ:/wp-content/uploads/2021/11/hp-logo-nn-02-256x256-1.jpg
----------------------------------------------
ブラウザキャッシュ有効化:0
HTML縮小化:0
CSS縮小化:0
JavaScript縮小化:0
Lazy Load:0
----------------------------------------------
利用中のプラグイン:
Access Category Password 1.2
AddToAny Share Buttons 1.8.10
Advanced Editor Tools 5.9.2
All In One WP Security 5.3.1
Broken Link Checker 2.2.4
Code Snippets 3.6.5.1
Contact Form 7 5.9.6
Contact Form 7 Multi-Step Forms 4.4
Contact Form CFDB7 1.2.7
Enable Media Replace 4.1.5
EWWW Image Optimizer 7.7.0
Honeypot for Contact Form 7 2.1.3
No Category Base (WPML) 1.3
PDF Embedder 4.8.2
Pretty Links 3.6.7
Quick Featured Images 13.7.1
Real-Time Find and Replace 4.0.3
Really Simple SSL 8.1.5
Redirection 5.4.2
Redirection for Contact Form 7 3.1.7
Search Regex 3.0.8
Shortcoder 6.3.2
Simple Custom CSS and JS 3.47
SlimStat Analytics 5.2.3
Throws SPAM Away 3.6.1
WP-PageNavi 2.94.1
WP Dashboard Notes 1.0.11
wpDiscuz 7.6.21
WP Multibyte Patch 2.9
WPS Hide Login 1.9.16.7
WPvivid Backup Plugin 0.9.103
Yoast Duplicate Post 4.5
----------------------------------------------
2024年7月14日 01:45
原因は分かりません。
まずは、現在起きている事象を。
404ページになるURL例: https://oawc.jp/page-not-found/
上記ページは、「404」にはなっていません。
「200」です。
表示されているのは、「introductions」というカテゴリーのアーカイブページです。
構造もまったく違います。
2024年7月14日 01:51
WordPressのトラブルシューティングの基本として
- 親テーマに切り替える
- 全プラグインの無効化
上記は試してみても良いと思います。
(親テーマに切り替えても解消しなければ、WordPress公式テーマ(名前が英語西暦年のもの)に変更も試してみる)
以下のプラグインを使えば、影響があるのはログインユーザーのみにすることができます。
(一般の読者には、影響がありません)
WordPressのトラブルシューティングを劇的に楽にする「Health Check & Troubleshooting」プラグインの使い方。
https://nelog.jp/health-check-and-troubleshooting-plugin
トピックスターター 2024年7月14日 09:45
mk2様、chu-ya様、調査していただきありがとうございます。
確かにそのJSを各カテゴリーの記事検索時に動作するように組み込んでおります。
そのJSの記述通り『URLに「activities/?s=」「the-news/?s=」「introductions/?s=」のいずれかの文字列が含まれているなら』で発動し、検索ワードにヒットするカテゴリー内の記事をHITさせるようにしています。
もし、サイト内にURLが存在せず、404ページに飛ばしたいときに「introductions/?s=」の検索結果を表示しているなら、ChatGPTの言うように『想定していない動作』でございます。
しかしながらこのJSのの場合、『URLに「introductions/?s=」が含まれていたら』という条件にしているのに、なぜURLに「introductions/?s=」が含まれていなくても動作してしまうのでしょうか?
今回の場合、この想定していない動作を回避するためには「他の文字列検索メゾット(例えば「IndexOf」「search」「match」とか)に変えるべき」となるのでしょうか?
2024年7月14日 10:22
今見て気付きましたが、includesの対象は配列です。
試しに配列以外に用いると、trueになるようです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
トピックスターター 2024年7月14日 10:23
スニペットを有効→無効にしていったら原因が判明しました。
以下のスニペットが悪さしているようでした。
function myPreGetPosts( $query ) { if ( is_admin() || ! $query->is_main_query() ){ return; } if ( $query->is_archive() ) { //月別、年別、日別、時間別アーカイブの場合はis_date() $query->set('cat', '2, 3, 4'); //IDを除外 複数はカンマで区切る マイナスでなければカテゴリ指定 $query->set('posts_per_page', 30); } } add_action('pre_get_posts','myPreGetPosts');
これの修正をしていきますが、修正が手詰まったらまた相談させていただきます。
mk2様、chu-ya様、ヒントをくださり、ありがとうございます。
これからこれの修正に取り掛かり、解決したら本件クローズとさせていただきます。
この投稿は5か月前ずつTanakaMakotoに変更されました
トピックスターター 2024年7月14日 10:28
chu-ya様、助言ありがとうございます。
>今見て気付きましたが、includesの対象は配列です。
こちらですが、当該JSを設定したのは結構前なので当時どのサイトを参考にしたのかまでは記憶にないですが、少なくとも以下のサイトでは「includes は文字列検索でも使える」というようなことが書いてあります。
https://www.sejuku.net/blog/70491#index_id2
これは間違っているということでしょうか?
大門未知子 reacted
2024年7月14日 10:39
これは間違っているということでしょうか?
すみません、私のミスです。
再確認し、文字列を比較した場合、文字列を含んでいるか否かで、true/falseが返却されました。
気になったのは、location.hrefの値です。
プラグイン「No Category Base (WPML) 1.3」を調べると、パーマリンクを変更するようなので。
↓どう言う流れで、404にならないのか?と思え。
トピックスターター 2024年7月14日 10:41
if ( $query->is_archive() )
の部分を
if ( $query->is_date() ) {
に変えたら(月別アーカイブで表示する記事のカテゴリーを制限したいので)直った感じです。
私の紹介サイトからコピペしてきたときの修正漏れしたケアレスミスっぽいです。
トピックスターター 2024年7月14日 10:53
いくつか動作テストをし、解決したことを確認しましたので、本件をクローズいたします。
皆様、各種助言をいただきましてありがとうございました。
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。