Внешний javascript не загружается в WordPress

#javascript #wordpress

#javascript #wordpress

Вопрос:

Я пытаюсь загрузить пользовательский файл js на WordPress, я загрузил в свою папку темы javascript и использую следующий код в functions.php но я не могу заставить его работать:

 function wpb_adding_scripts() {
    wp_register_script('service-graph', plugins_url('js/service-graph.js', __FILE__), array('jquery'),'1.1', true);
    wp_enqueue_script('service-graph');
}

add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' ); 
  

Спасибо.

Ответ №1:

Вам нужно использовать функцию get_template_directory_uri() для получения пути к папке темы.затем вы можете передать js / yourjsfile путь к файлу.

Попробуйте приведенный ниже код

 <?php

    function wpb_adding_scripts() {
    wp_register_script('service-graph', get_template_directory_uri() . '/js/service-graph.js', array('jquery'),'1.1', true);
    wp_enqueue_script('service-graph');
    }

    add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );  
    ?>
  

Jfyi — если вы помещаете что-либо в свою текущую активную папку темы, вам, должно быть, нужно использовать функцию get_template_directory_uri() в качестве обратного пути к каталогу вашей темы.

Ответ №2:

Проблема в том, что вы используете неправильную функцию для извлечения папки темы.

plugins_url() используется для плагинов, как вы могли догадаться из его названия. Это означает, что он будет указывать на /wp-content/plugins каталог, в котором не находится ваша тема.

Вместо этого вам нужно использовать get_template_directory_uri() . Обратите внимание, что эта функция не возвращает завершающую косую черту / после адреса каталога, поэтому вам нужно добавить ее в начало вашего пути.

Итак, вот как должен выглядеть ваш код:

 function wpb_adding_scripts() {
    wp_register_script('service-graph', get_template_directory_uri() . '/js/service-graph.js', array('jquery'), '1.1', true);
    wp_enqueue_script('service-graph');
}
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );