为什么在TEMPLATEPATH中包含一个JavaScript文件时wp_enQueue_SCRIPT()不起作用?

时间:2010-08-19 作者:naugtur

我正在尝试使用here 添加我的JS文件。

我在函数中添加了以下内容。我已经安装了atahualpa主题的php

function lektor_init() {
  if (true) {
    wp_enqueue_script(\'lektor\',TEMPLATEPATH.\'/js/synteza.js\');
  }
}
add_action(\'init\',\'lektor_init\'); 
TEMPLATEPATH 以前在那里已经用过了,所以我只是对它进行了修改。但它没有出现。

我做错了什么?

3 个回复
最合适的回答,由SO网友:John P Bloch 整理而成

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

SO网友:Brad Dalton

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\' );
添加到父主题函数文件。

但是,如果要向父主题添加脚本,create a child theme 并使用将脚本添加到子主题函数文件中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.

SO网友:rfair404

如果使用子主题,“template\\u directory”将返回父主题目录位置。如果您只需要打印打印URL,我会使用“CHILD\\u URL”和“PARENT\\u URL”。

结束

相关推荐

Adding goodies to themes

如何在主题更新时向Arjuna-X等主题添加内容而不丢失?儿童主题是一种很好的方式,还是有其他选择?如果新版本的主题对我添加的功能具有本机支持,该怎么办?