Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

キャッシュのせい?スマホでアクセスした...
 
共有:
通知
すべてクリア

[解決済] キャッシュのせい?スマホでアクセスした時だけrandが機能しない

6 投稿
3 ユーザー
2 Reactions
940 表示
(@にゃん)
Active Member
結合: 5年前
投稿: 6
トピックスターター  

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
----------------------------------------------


   
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

パソコンからアクセスすると、ページを再読み込みするたびにアラートの中の数字が変化します。

私の PC では変化しません。何度か試して、やっと変化します。

テーマをTwentyTwentyにすると、スマホからでも再読み込みで即時にランダムな値が返ってきます。

functions.php にコードを追加されていますが、お使いの子テーマに問題はありませんか?functions.php の中身の確認が必要かもしれません。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17403
 

僕のパソコン環境からも変化しないようです。
4回連続同じ数字でした。
でも、時間を置くと変わりますね。
JavaScriptを利用しているので、ブラウザキャッシュの影響とかもあるのかもしれません。
スーパーリロード(Ctrl+F5)で再読み込みすると、数字が変化するようなので。


   
(@にゃん)
Active Member
結合: 5年前
投稿: 6
トピックスターター  

みなさんの環境だとパソコンでも同じ数字が続くんですね。
では、スマホだから、パソコンだからという話ではないのか。

新しく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を使わず、生成済みのデータを再送する事象?」について知見をお持ちの方がいれば、アドバイスを頂ければ幸いです。


   
(@にゃん)
Active Member
結合: 5年前
投稿: 6
トピックスターター  

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
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17403
 

なるほど ? 
詳細なレポートありがとうございます!


   
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました