私は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は私の情報源にロードされているので、それは問題ではありません...
あなたは子供のテーマを使っていますか?この場合、親テーマuriを返すget_stylesheet_directory_uri()
whichの代わりにget_stylesheet_template_uri()
を使用する必要があります https://developer.wordpress.org/reference/functions/get_template_directory/#usage
wp_enqueue_script と get_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 );
すべての答えは正解です - 私の場合は、それを正しく実行できましたが、jQueryが私の情報源に表示しているにもかかわらず、WP Footerをロードしていませんでした。 get_footer()に追加するとすぐに、すべてうまくいきました。