web-dev-qa-db-ja.com

JavaScriptファイルのエンキュー

私はJSファイル(/js/example-script.jsにある)をエンキューしようとしています。これは単にページのロード時にアラートを受け取るためです。

誰が私が間違っていることを私に言うことができますか?

私のexample-script.jsでは:

jQuery(document).ready(function($) {
  alert("hi");
});

そして私の関数ファイルでは:

function my_theme_scripts() {
    wp_enqueue_script( 'example-script', get_template_directory_uri() . '/js/example-script.js', array( 'jquery' ), '1.0.0', true );
}

add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );

jQueryは私の情報源にロードされているので、それは問題ではありません...

1
JohnG

あなたは子供のテーマを使っていますか?この場合、親テーマuriを返すget_stylesheet_directory_uri()whichの代わりにget_stylesheet_template_uri()を使用する必要があります https://developer.wordpress.org/reference/functions/get_template_directory/#usage

1
CRavon

テーマの例

wp_enqueue_scriptget_theme_file_uri を一緒に使うことを推奨します。ファイル。

get_theme_file_uri()関数

テンプレートディレクトリの前にスタイルシートディレクトリを検索するので、親テーマから継承したテーマは1つのファイルを上書きするだけです。

wp_enqueue_script( 'example-script', get_theme_file_uri( '/js/example-script.js' ), array('jquery'), null, true );


プラグインの例

wp_enqueue_script( 'example-script', plugins_url('/js/example-script.js', __FILE__), array(), null );
1
Remzi Cavdar

すべての答えは正解です - 私の場合は、それを正しく実行できましたが、jQueryが私の情報源に表示しているにもかかわらず、WP Footerをロードしていませんでした。 get_footer()に追加するとすぐに、すべてうまくいきました。

0
JohnG