jsファイルの読み込みとエラー

0
いいねをした人: 居ません
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #70649
    yuta
    閲覧者
    0

    【お使いの Snow Monkey のバージョン】最新版
    【お使いの Snow Monkey Blocks のバージョン】最新版
    【お使いの Snow Monkey Editor のバージョン】最新版
    【お使いのブラウザ】Google Chrome
    【当該サイトのURL】https://preprente.yuta-blog.website/

    ### 実現したいこと
    jsファイルのエラーを解消したい

    ### 発生している問題
    ローカル環境ではエラーが出ないのに、本番環境に上げた途端エラーが出てしまいます。
    エラー文:Uncaught ReferenceError: jQuery is not defined at common.js?ver=5.7:1

    ### 試したこと
    本番環境に反映させる際は、All in One WP Migrationプラグインを使っています。
    jsファイルもローカル環境同様のものがしっかり読み込まれているはずなのですが、
    本番環境ではエラーが出てしまいます。
    これは、jsファイルのコードが原因なのでしょうか?
    原因と解決策がわかっていないので、
    サポートフォーラムで聞くような原因でないものでしたら、すみません。

    【my-snow-monkey.php】

    // jsファイルの読み込み
    add_action( 'wp_enqueue_scripts', function() {
    	wp_enqueue_script(
    		'customize',
    		untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/assets/js/common.js',
    		[ get_template() ],
    		false,
    		true
    	);
    } );

    【common.js】

    jQuery(function ($) {
    	// 固定ページのサイドバー
    	jQuery(".estate")
    		.parents(".l-contents__inner")
    		.find("#custom_html-3")
    		.css("display", "none");
    	jQuery(".entertainment")
    		.parents(".l-contents__inner")
    		.find("#custom_html-4")
    		.css("display", "none");
    
    	// お問い合わせ(子ページ)タイトルのtext-shadow消し
    	jQuery(".contact-entertainment")
    		.parents(".l-contents")
    		.find(".c-page-header__title")
    		.css("text-shadow", "none");
    	jQuery(".contact-real-estate")
    		.parents(".l-contents")
    		.find(".c-page-header__title")
    		.css("text-shadow", "none");
    }
    0
    いいねをした人: 居ません
    #70653
    キタジマ タカシ
    参加者
    2258

    Uncaught ReferenceError: jQuery is not defined at common.js は、common.jsjQuery を使っているけど jQuery が定義されていませんよという意味です。

    common.js より先に jQuery のファイルを読み込む必要がありますが、common.js の読み込みの依存関係に jquery が指定されていないようです。下記のように変更してください。

    add_action(
    	'wp_enqueue_scripts',
    	function() {
    		wp_enqueue_script(
    			'customize',
    			untrailingslashit( plugin_dir_url( __FILE__ ) ) . ‘/assets/js/common.js’,
    			[
    				'jquery', // ← jQuery を読み込んだ後に common.js を読み込む
    				\Framework\Helper::get_main_script_handle(), // ← get_template() と指定されていましたが、これは正しくないです。ちなみにこれは Snow Monkey のメイン js を依存指定することになります。
    			],
    			false,
    			true
    		);
    	}
    );

    あと、これは本筋とそれますが、common.js の中に書いているのがスタイルの指定のようなので、js より CSS で記述したほうが体感速度的には良いのではないかと思いました。

    2
    いいねをした人: 居ません
    #70657
    yuta
    閲覧者
    0

    なるほど、そういうことだったのですね!
    上手く動作しました。ありがとうございます!

    特定のページのページタイトルのみにスタイルを当てるために、
    このような回りくどいことをやったのですが、
    bodyのクラスにpage-id-◯というのが付与されていましたね。
    追加CSSでできますね。

    jsファイルのエラーについて質問したのですが、別のことにも気づかせていただきました!
    ありがとうございました。

    0
    いいねをした人: 居ません
    #70666
    キタジマ タカシ
    参加者
    2258

    解決できてよかったです。トピック閉じます!

    0
    いいねをした人: 居ません
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • トピック「jsファイルの読み込みとエラー」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。