将javascript加载到wordpress wp_enqueue_script()问题

时间:2011-04-27 17:01:11

标签: wordpress wordpress-theming

我试图让我的自定义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(专业编写的脚本),它会做同样的事情。我希望加载的脚本已经在我的网站上运行了,我想继续在我正在开发的新主题中使用它。

有没有人知道发生了什么?当然,我该怎么办呢?

这是一个本地安装 - 我没有冒险破坏我的网站,直到整理完毕。

2 个答案:

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