0

我有一个 Wordpress 主题,它的一些功能取决于 jquery 库 jquery.tools。在我的头文件中:

//header.php

<script src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script>
<script type="text/javascript">

  $(document).ready(function(){
         $("#trigger-button-53").tooltip({effect:'slide'});
  })
</script>

<script type="text/javascript">

  $(document).ready(function(){
$('#accordion-slider').kwicks({  
    max : 750,  
    spacing : 1
});  
  });
</script>

在我的自定义 functions.php 文件中:

// functions.php
<?php
function my_scripts_method() {

    wp_enqueue_script('tools', 'http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js', '', '', true );  
    $kwicks_url = get_template_directory_uri().'/js/jquery-kwicks-1.5.1.js';
    wp_enqueue_script('jquery-kwicks', $kwicks_url, '', '', true);
    wp_enqueue_script('jquery', "https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js", '', '', true );
}    

add_action('wp_enqueue_scripts', 'my_scripts_method'); // For use on the Front end (ie.    Theme)

?>

两种方法都返回: http ://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js?ver=3.4.2

就目前而言,以这种方式,我所有的 javascript 方法都具有魅力。但我在参考

http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js

两次让它全部工作?如果我在 header.php 文件中省略了直接引用,即使这两种方法都成功加载了库,我的脚本也不会工作。此外,我们不应该在 WP 主题(具体为子主题)的头文件中粘贴对脚本的直接引用,因为这是不好的做法。您可能已经注意到我在使用

my_scripts_method();

但如果我将它们加载到标题中没有区别。稍微切线,我假设:

wp_enqueue_script( 
 $handle
,$src
,$deps
,$ver
,$in_footer 
);

$handle 可以是任何字符串,即

wp_enqueue_script('fried-egg', 'http://example.com/path/to/jquery.js');    
wp_enqueue_script('tools', 'http://example.com/path/to/jquery.js');

同样有效吗?

WTF的继续?:)

4

1 回答 1

0

确保仅jQuery 工具之前加载 jQuery。如果您之后加载 jQuery,任何对 jQuery 插件的引用都将被新版本的 jQuery 覆盖。这就是为什么您必须包含 jQuery 工具两次(一次在 jQuery 被覆盖之前,删除对 j​​Query 工具的引用,然后在再次包含 jQuery 之后再次)。

wp_enqueue_script('jquery', "https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js", '', '', true );
wp_enqueue_script('tools', 'http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js', '', '', true );  
$kwicks_url = get_template_directory_uri().'/js/jquery-kwicks-1.5.1.js';
wp_enqueue_script('jquery-kwicks', $kwicks_url, '', '', true);
于 2012-09-20T16:11:21.027 回答