webdevqa.jp.net

カスタムテーマでwp_enqueue_scriptが無視される

テーマのfunctions.phpファイルからjsファイル(calculator.js)をエンキューしようとしています。

デスクトップテーマとスマートフォンテーマがあり、ユーザーのデバイスに応じて2つのテーマを切り替えるためにプラグインを使用しています。

私は自分のデスクトップテーマにまったく同じコードを持っていて、それは完璧に動作します、しかし私がそれを私のスマートフォンテーマにコピーした時、それはエンキュースクリプトを無視するようです。

これが私のコードです:

function wpb_adding_scripts() {
    wp_register_script('calculator_script', get_template_directory_uri() . '/js/calculator.js', array( 'jquery' ), NULL, 'all');
    wp_enqueue_script('calculator_script');
    wp_enqueue_style( 'slider', get_template_directory_uri() . '/css/calculator.css',false,'1.1','all');
} 
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' ); 

私がしたこと/メモ:

  • Functions.phpファイルが実際に開始phpタグで始まっていることを確認しました
  • すべてのファイルが正しいディレクトリにあることを確認してください
  • コンソールはエラーを報告していません
  • ソースにロードされている私のjsファイルが表示されませんが、cssファイル(calculator.css)は正しくロードされています。

この問題の原因と考えられるものについての洞察はありますか?

どうもありがとうございました。

2
Kurisubo
You can better try this way and let me know.

function wpb_adding_scripts() {
    wp_enqueue_style( 'slider', get_stylesheet_directory_uri() . '/css/calculator.css');
    wp_enqueue_script('jquery');
    wp_enqueue_script('calculator_script', get_stylesheet_directory_uri() . '/js/calculator.js');

} 
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' ); 
0
Balas

いくつかの変更だけ

function wpb_adding_scripts() {
    wp_enqueue_script( 'calculator_script', get_template_directory_uri() . '/js/calculator.js', array( 'jquery' ), '', true );
    wp_enqueue_style( 'slider', get_template_directory_uri() . '/css/calculator.css' );
} 
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' ); 

functions.phpファイルが子テーマの場合は、get_template_directory_uri()の代わりにget_stylesheet_directory_uri()を使用してください。

これが機能するかどうかを確認します(通常はこのようにします)。

1
maverick

get_template_directory_uriは常にアセットの親テーマフォルダを参照します。

get_stylesheet_directory_uriは、アセットの「現在の」テーマフォルダを参照します(呼び出される場所に応じて、親または子になります)。

0
Harsh