Почему wp не запрашивает сценарий() при включении файла JavaScript с помощью TEMPLATEPATH?


Я пытаюсь использовать советы от здесь чтобы добавить мой файл JS.

Я поместил следующее в functions.php из темы атауальпа, которую я установил

function lektor_init() {
  if (true) {
    wp_enqueue_script('lektor',TEMPLATEPATH.'/js/synteza.js');
  }
}
add_action('init','lektor_init'); 

TEMPLATEPATH он уже использовался там раньше, поэтому я просто адаптировал его. Но он не появляется.

Что я сделал не так?

Author: Community, 2010-08-19

3 answers

TEMPLATEPATH это путь к каталогу, а не URL-адрес. Вам нужно будет использовать get_template_directory_uri().

 9
Author: John P Bloch, 2010-08-19 13:37:17
function parent_theme_name_scripts() {
    wp_enqueue_script( 'lektor', get_template_directory_uri() . '/js/synteza.js', array(), '1.0.0', true );
}

add_action( 'wp_enqueue_scripts', 'parent_theme_name_scripts' );

Добавьте в файл функций родительских тем.

Однако, если вы добавляете сценарии в родительскую тему, создайте дочернюю тему и добавьте сценарий в файл функций дочерних тем с помощью get_stylesheet_directory_uri()

add_action( 'wp_enqueue_scripts', 'child_theme_name_scripts' );
function child_theme_name_scripts() {
        wp_enqueue_script( 'lektor', get_stylesheet_directory_uri() . '/js/synteza.js', array(), '1.0.0', true );
    }

Использовать wp_enqueue_scripts вместо того, чтобы init.

 0
Author: Brad Dalton, 2014-11-11 19:54:03

Если вы используете дочерние темы, "каталог_шаблонов" вернет расположение каталога родительской темы. Я использую "CHILD_URL" и "PARENT_URL", если вам просто нужно распечатать URL-адреса печати.

 -1
Author: rfair404, 2010-08-19 20:01:45