サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2020年6月1日 16:27
https://kantantoeic.u-ff.com/tokkun-mode/
上記のページで、スマホ(Android)からアクセスした時だけランダム要素が機能しないのですが、何か心当たりはございませんでしょうか?
cocoon-child-master内のfunctions.phpにコードを追加して
$x = rand(0, 100);
$alert = "<script>alert(" . $x . ");</script>";
echo $alert;
や
get_posts(array('orderby' => 'rand'));
の処理を使っています。
パソコンからアクセスすると、ページを再読み込みするたびにアラートの中の数字が変化します。
しかし、スマホからアクセスすると、ページを再読み込みするたびに毎回同じ数値がアラートに表示されます。
(randが機能していない)
ただし、60秒ほど時間を置いてから再読み込みすると、スマホの場合もアラートに表示される数字が変化します。
AndroidのChromeブラウザで、「閲覧履歴データの削除」というところから
「閲覧履歴」「Cookieとサイトデータ」「キャッシュされた画像とファイル」を削除しても状況は変わらずです。
そのため、端末側の問題ではなく、サイト側の問題だと思います。
また、テーマをTwentyTwentyにすると、スマホからでも再読み込みで即時にランダムな値が返ってきます。
そのため、Cocoonのどこかの設定が影響しているのではと考えております。
Cocoon設定>AMPで
「AMP機能を有効化する」はオフです。
Cocoon設定>PWAで
「PWAを有効化する」はオフです。
Cocoon設定>高速化で
「ブラウザキャッシュの有効化」他、全ての項目のチェックを外しても症状は改善せず。
Cocoon設定>キャッシュ削除で
「全てのキャッシュの削除」をしても症状は改善せず。
randでランダム値を再生成せずに、古いデータが再送されるような処理について、どなたかご存じないでしょうか?
(パソコンでは発生せず、スマホからアクセスした場合にだけ発生します)
----------------------------------------------
サイト名:1日1分 かんたんTOEIC リスニング対策部(βテスト中)
サイトURL: https://kantantoeic.u-ff.com
ホームURL: https://kantantoeic.u-ff.com
コンテンツURL:/wp-content
インクルードURL:/wp-includes/
テンプレートURL:/wp-content/themes/cocoon-master
スタイルシートURL:/wp-content/themes/cocoon-child-master
子テーマスタイル:/wp-content/themes/cocoon-child-master/style.css
スキン:/wp-content/themes/cocoon-master/skins/skin-colors-blue/style.css
WordPressバージョン:5.4.1
PHPバージョン:7.3.16
ブラウザ:Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
サーバーソフト:Apache
サーバープロトコル:HTTP/1.1
言語:ja,en-US;q=0.9,en;q=0.8,ru;q=0.7
----------------------------------------------
テーマ名:Cocoon
バージョン:2.1.6.5
カテゴリ数:7
タグ数:29
ユーザー数:1
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:1.1.2
style.cssサイズ:1889バイト
functions.phpサイズ:3199バイト
----------------------------------------------
Gutenberg:0
AMP:0
PWA:0
Font Awesome:5
Auto Post Thumbnail:1
Retina:1
ホームイメージ:
----------------------------------------------
ブラウザキャッシュ有効化:0
HTML縮小化:0
CSS縮小化:0
JavaScript縮小化:0
Lazy Load:0
WEBフォントLazy Load:0
----------------------------------------------
利用中のプラグイン:
Akismet Anti-Spam 4.1.5
Duplicate Post 3.2.4
Edit Author Slug 1.6.1
Google XML Sitemaps 4.1.0
Jetpack by WordPress.com 8.5
WebSub/PubSubHubbub 3.0.3
WP Multibyte Patch 2.8.4
----------------------------------------------
2020年6月1日 18:56
パソコンからアクセスすると、ページを再読み込みするたびにアラートの中の数字が変化します。
私の PC では変化しません。何度か試して、やっと変化します。
テーマをTwentyTwentyにすると、スマホからでも再読み込みで即時にランダムな値が返ってきます。
functions.php にコードを追加されていますが、お使いの子テーマに問題はありませんか?functions.php の中身の確認が必要かもしれません。
わいひら reacted
2020年6月1日 19:27
僕のパソコン環境からも変化しないようです。
4回連続同じ数字でした。
でも、時間を置くと変わりますね。
JavaScriptを利用しているので、ブラウザキャッシュの影響とかもあるのかもしれません。
スーパーリロード(Ctrl+F5)で再読み込みすると、数字が変化するようなので。
Topic starter
2020年6月1日 21:21
みなさんの環境だとパソコンでも同じ数字が続くんですね。
では、スマホだから、パソコンだからという話ではないのか。
新しくWordPressサイトを作って、テーマ内のfunctions.phpに
$x = rand(0, 100);
$alert = "<script>alert(" . $x . ");</script>";
echo $alert;
だけを追加してみたところ、CocoonとTwentyTwentyのどちらのテーマでも即時にランダムな数字が返ってきました。
ということで、Cocoon本体の設定が原因では無さそうです。
当初のサイトではCocoonで症状が出て、TwentyTwentyにテーマを変えた時に症状が改善されたことから、
Cocoon Childの中でカスタマイズした自作コードのどこかが影響していそうです。
Cocoonの機能が影響したものではなさそうなので、自力で解決してみます。
失礼しました。
1週間を目処に、原因の報告もしくは諦めの報告をさせて頂きます。
Cocoonではなく、WordPressもしくはPHP側の話っぽいので恐縮ですが
「PHPがリアルタイムでrandを使わず、生成済みのデータを再送する事象?」について知見をお持ちの方がいれば、アドバイスを頂ければ幸いです。
Topic starter
2020年6月2日 08:57
randが機能しない件、自己解決しました。
CocoonもWordPressも関係なく、XServerの「サーバーキャッシュ」機能が原因でした。
https://www.xserver.ne.jp/manual/man_server_cache.php
PHPを毎回実行せずに、生成済みのHTMLをサーバー側で1分間キャッシュしているようです。
ChromeとFirfoxとOperaとブラウザを3種類立ち上げて確認したら、3つとも同じ数字が返ってきました。
私の環境で、パソコンではrandが機能するけど、スマホではrandが機能しないという話は、WordPressの管理者としてログインしているかどうかの違いでした。
・パソコン(管理者でログイン中)だとサーバーキャッシュを利用せずにrandが毎回作動する
・スマホ(ログインしていない)だと、キャッシュから毎回同じデータが送られてくる
(1分待つとキャッシュが消えるので、randで別の数字が表示される)
という状態になっていました。
スマホでも管理者としてログインすると、毎回randで新しい数字が表示されるようになりました。
また、パソコンでもログアウトして試すと、1分間は何度読み込んでも同じ数字がアラートに表示される状態になりました。
結局、Cocoonはまったく関係ありませんでした。
お騒がせしました。
わいひら reacted
2020年6月2日 23:27
なるほど ?
詳細なレポートありがとうございます!
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。