it-swarm.cn

为什么wp_enqueue_script()在包含带有TEMPLATEPATH的JavaScript文件时不起作用?

我试图使用这里的提示来添加我的JS文件。

我把以下内容放在我安装的atahualpa主题的functions.php中

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

TEMPLATEPATH之前已经使用过,所以我只是改编了它。但它没有显示出来。

我做错了什么?

1
naugtur

TEMPLATEPATH是目录路径,而不是URL。你需要使用get_template_directory_uri()

9
John P Bloch
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
Brad Dalton