it-roy-ru.com

wp_enqueue_script игнорируется в пользовательской теме

Я пытаюсь поставить в очередь файл js (calculator.js) из файла functions.php моей темы.

У меня есть тема для рабочего стола и тема для смартфона, и я использую плагин для переключения между двумя темами в зависимости от устройства пользователя.

У меня точно такой же код в теме рабочего стола, и он отлично работает, однако, когда я скопировал его в тему смартфона, он просто игнорирует скрипт enqueue.

Вот мой код:

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
  • Убедитесь, что все файлы находятся в правильных каталогах
  • Консоль не помечает никаких ошибок
  • Sources не показывает мой файл 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' ); 

используйте get_stylesheet_directory_uri () вместо get_template_directory_uri (), если ваш файл functions.php находится в дочерней теме.

Посмотрите, работает это или нет (обычно так и происходит)

1
maverick

get_template_directory_uri всегда будет ссылаться на папку родительской темы для ресурсов.

get_stylesheet_directory_uri будет ссылаться на "текущую" папку темы для ресурсов (которая может быть родительской или дочерней, в зависимости от того, где она вызывается).

0
Harsh