#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' );