0

jqueryライブラリjquery.toolsに依存するいくつかの機能を備えたWordpressテーマがあります。私のヘッダーファイルでは:

//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

すべてを機能させるために2回?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 ツールを 2 回含める必要がある理由です (1 回目は jQuery を上書きして jQuery ツールへの参照を削除する前、2 回目は 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 に答える