サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2018年12月25日 17:11
お世話になっております。
以下のトピックで、adsbygoogle.jsを1つのみ出力するように対応いただきました。
https://wp-cocoon.com/community/cocoon-theme/adsenseのadsbygoogle-jsについて/
私のサイトで、1.4.8.1で運用しています。
広告ウィジェットの整理をしていたところ、adsbygoogle.jsが1つも出力されないという現象になってしまいました。
lib\ad.phpのget_normal_adsense_responsive_code
が複数回呼ばれていて、その中で最初に呼ばれたときに、この関数内でadsbygoogle.jsを追加してグローバル変数を変更していますが、
この関数が返した文字列が出力されない場合があるようです。
それ以降、get_normal_adsense_responsive_codeが呼び出されても、スクリプトを追加する処理は行われないので、タイトルのような現象になっているようです。
手元で調査した限りでは、
- 表示開始時、最初の広告を表示するとき、lib/widgets/pc-ad.phpの31行目でget_adsense_responsive_codeが呼び出されます。この返り値にはスクリプトの追加された文字列が入っています。
- その文字列を引数に表示用のテンプレート適用処理が行われます。
- テンプレート処理の中でtmp/ad.phpが呼びされ、12行目で再びget_adsense_responsive_codeが呼び出されます。1.でスクリプト追加処理は一度行われたので、この返り値にはスクリプト追加処理が行われません。
- 2回めのget_adsense_responsive_codeの返り値が表示に使われるため、スクリプトの追加コードが1度も使われないことになります。
mobile-ad.phpには、get_adsense_responsive_codeのコードが無いことから、pc-ad.phpの29~32行目が必要ないのではないでしょうか?
ご確認をよろしくお願いいたします。
Topic starter
2018年12月25日 17:22
上記の現象は、PC用の広告が最初に出力されたときのみ発生します。
モバイル用の広告がPC用の広告よりも先に表示される場合は、正常に動作しているようです。
2018年12月25日 17:26
お困りと思うので、取り急ぎ返信です。
先程公開した、バージョン1.4.9でアップデートしてみていただけますでしょうか。
https://wp-cocoon.com/1-4-9/
自動アップデートも有効になっています。
Topic starter
2018年12月25日 17:44
1.4.9に更新してみましたが、状況変わらずです。
取り急ぎご報告まで。
2018年12月25日 22:09
先程は、時間がなくてしっかりと読めてませんでした。
改めてコードを精査してみたところ、確かに以下の通りだと思います。
pc-ad.phpの29~32行目が必要ないのではないでしょうか?
修正したものを自動更新出来るようにしておきました(1.4.9.2)。
よろしければ試してみていただけると幸いです。
2018年12月25日 22:50
1.4.9.2に更新したところ、PC用広告が最初の場合も正しくadsbygoogle.jsが一度だけ出力されるようになりました。
ありがとうございました!
わいひら reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。