我试图让我的自定义javascript(jQuery)在Wordpress中正确加载。 我知道你必须使用wp_enqueue_script()来正确地执行此操作。但是我遇到的问题是结果不是我的脚本,但在我应该有javascript的地方我有404页面的代码! 我已经尝试了两种排队脚本的方法:
wp_enqueue_script('sitescript', get_bloginfo('template_directory').'/javascript/sitescript.js', array('jquery'),1);
就在wp_head()之上
并且:function my_script_load() {
wp_enqueue_script('sitescript', get_bloginfo('template_directory').'/javascript/sitescript.js', array('jquery'),null);
}
add_action('init', 'my_script_load');
在functions.php中
两种方法都有相同的效果。当我在firebug中检查HTML时,我发现该脚本被严格引用:
<script src="http://localhost/wordpress/wp-content/themes/doric2011/javascript/sitescript.js" type="text/javascript">
然而,当我检查脚本本身时,我发现以下(摘录):` 页面未找到|尼克凯尼尔森
等等......这是一个404页面的HTML输出,但占用了javascript应该是的空间...... 不用说剧本不起作用。
自从更新到3.1后我才遇到这个问题,如果我尝试加载highslide.js和highslide.config.js(专业编写的脚本),它会做同样的事情。我希望加载的脚本已经在我的网站上运行了,我想继续在我正在开发的新主题中使用它。
有没有人知道发生了什么?当然,我该怎么办呢?
这是一个本地安装 - 我没有冒险破坏我的网站,直到整理完毕。
答案 0 :(得分:0)
尝试:
add_action('init', 'my_script_load');
function my_script_load() {
wp_register_script('sitescript', get_bloginfo('template_directory').'/javascript/sitescript.js', array('jquery'), true);
wp_enqueue_script('sitescript');
}
答案 1 :(得分:0)
假设您的javascript文件位于正确的位置(并且URL未指向JS文件不的位置...)请尝试:
function add_my_scripts() {
$templatedir = get_bloginfo('template_directory');
if(!is_admin()) {
wp_register_script( 'sitescript', $templatedir . '/javascript/sitescript.js');
wp_enqueue_script( 'sitescript' );
}
}
add_action( 'init', 'add_my_scripts');