サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
トピックスターター 2020年8月1日 10:43
はじめて投稿します。
投稿ページごとに、異なるjsファイルを読み込みたいのですが、
コードエディターに変更し、
[call_php file='slot']
と記載し、slot.phpを呼び出し、
そのphp内にcssやjsの読み込みを書いているのですが、
うまく反映されません。
シンプルなものだと、カスタムCSSやカスタムjavascriptに記載すると、
表示されるのですが、
長文のjsファイルを記載すると、保存中から先に進めずフリーズします。
再読み込みすると、カスタムjavascriptに記載した内容は消えています。
自分で作成したjsファイル(main.js)は、
子テーマにjsフォルダを作り、その中に入れていますが、
phpからの読み込みは、</body>直前に
<scriptsrc="js/main.js"></script>
このように記載していますが、この書き方が間違っているのでしょうか。
2020年8月1日 11:57
こんにちは。
気付いたことがあるので以下箇条書きします。
- ショートコードはちゃんと登録してから使っていますか?
- 自分もそれなりな量のカスタムJavaScriptをCocoonで使っていますが不具合にあったことはありません。プラグインなどその他の環境情報はチェックしましたか?(フォーラムに投稿する際はなるべく載せると良いと思います)
- カスタムJavaScriptに記入するときに<script>タグは除外していますか?
- <scriptsrc="js/main.js"></script> ←scriptとsrcの間に半角スペースがありませんが転記ミスですか?
- パスの記述は間違っています。最終的にはHTML出力されるわけなので、相対パスでは読み込めません。不安でしたら関数などを使わず絶対パスでベタ書きするといいと思います。「http(s)://ドメイン.◯◯/wp-content/themes/cocoon-child-master/js/main.js」などでしょう。
以上ご確認ください?
トピックスターター 2020年8月1日 12:16
@mirumi 早速ありがとうございます!丁寧に教えてくださりとても嬉しいです。下記回答になります。
- ショートコードはちゃんと登録してから使っていますか?
>>ショートコードは使用していないと思います。
- 自分もそれなりな量のカスタムJavaScriptをCocoonで使っていますが不具合にあったことはありません。プラグインなどその他の環境情報はチェックしましたか?(フォーラムに投稿する際はなるべく載せると良いと思います)
>>そうですか!よかったです。そもそもカスタムjavascriptには使えないタグやプログラムがあるのかと思いました。また、環境情報ですが、Wordpressを入れてすぐの状態ですので、プラグインは初期のままです。
- カスタムJavaScriptに記入するときに<script>タグは除外していますか?
>>除外しています。
- <scriptsrc="js/main.js"></script> ←scriptとsrcの間に半角スペースがありませんが転記ミスですか?
>>すみません、こちらは転記ミスでした。
- パスの記述は間違っています。最終的にはHTML出力されるわけなので、相対パスでは読み込めません。不安でしたら関数などを使わず絶対パスでベタ書きするといいと思います。「http(s)://ドメイン.◯◯/wp-content/themes/cocoon-child-master/js/main.js」などでしょう。
>>やはり間違いでしたか。。img srcの指定でも↑のように絶対パスですと表示されたため、scriptタグ内でのjs読み込みでも、絶対パスが良いのですね。
しかし、この絶対パスでの指定ですが、カスタムjavascriptでは、scriptタグが自動でついてしまう為、
<script src="https://ドメイン/wp-content/themes/cocoon-child-master/js/main.js"></script>
↑このような記述ができないかと思います。
その場合、どうやってjsファイルを読み込むのでしょうか。
2020年8月1日 12:28
えーっと、色々ごちゃまぜになっていると思われますので整理しますね。
まず今回おっしゃっている問題に対するアプローチは2つございます。
- ショートコードを使う方法
- カスタムJavaScriptを使う方法
「ショートコードは使っていない」と言っておられますが、[call_php file='slot']はショートコードというものです。これはfunctions.phpに登録してから使う必要があります。
なので今はslot.phpというファイルは読み込まれていないはずです。
そしてカスタムJavaScriptを使う場合はショートコードの件は一切関係ないので、<script>タグの件は悩む必要はありません。素直にソースだけ貼り付ければいいだけです。
「カスタムJavaScriptが使用できない」という問題は、これ以上の情報がない限り回答不可能と思います。貼り付けようとしているソースコード、実際のサイトURLなどが必要と思われます。
ちなみに「カスタムJavaScript内から別のjsファイルを読み込む」というのは過去に別トピックがあって回答した記憶もあるのですが見つかりません…。
トピックスターター 2020年8月1日 12:30
@mirumi mirumi様、絶対パスにしたところ、子テーマのcssフォルダや、jsフォルダに入れたファイルも、正常に読み込みでき、カスタムCSSやカスタムjavascriptに入力せずとも、
[call_php file='slot']で呼び出したPHPからCSS、javascriptまで、無事に表示されました。
ありがとうございます!!
しかし、疑問なのが、同じ内容を外部ファイルに入力したときは表示されるのに、
同じものをカスタムjavascriptに入力すると、保存できずフリーズする原因が結局わかりませんでした。。
シンプルにクリックされたら色を変える。
という内容のjavascriptは問題ないのに、divを追加するjavascriptを入れると保存もできませんでした。
これはどういうことが原因である考えられますでしょうか。
※添付ファイルにソースを載せました。
2020年8月1日 20:43
call_phpなんてショートコードは、デフォルトでないような気がするんですけど。
検索したら、この記事がトップに来るので、このカスタマイズをしているということはないのでしょうか。
https://innervisions.info/wordpress/shortcord-php/
ただ、いずれにせよ独自カスタマイズによる不具合は、サポート対象外とさせていただいています。
独自カスタマイズの不具合は、こちらで再現のしようがないので自身で解決していただくしかありません。
どうしてもという場合は、以下のような有償サポートを案内しています。
https://wp-cocoon.com/cocoon-custom/
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。