2016-10-24 3 views
3

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

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.

Try ниже код

<?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() функцию в качестве пути возврата к вашей директории темы.

0

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

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