2017-06-02 4 views
1

だから、ここには何かがあります。粘着性は機能ではありません

私はそうのように、WP内のfunctions.phpファイルを介して、いくつかのスクリプトをロードしています:

(function ($, root, undefined) { 

    $(function() { 

     'use strict'; 

      // sidebar width as parent 
      $('.sidebar').width($('.sidebar').parent().width()); 


      // sticky 
      $(".page-menu").sticky({topSpacing:0}); 

    }); 

})(jQuery, this); 

まずコードスニペット(つまり、幅を計算)作品:

wp_register_script('load-jquery', get_template_directory_uri() . '/js/lib/jquery.min.js', array(), '2.2.4'); // jQuery 
wp_enqueue_script('load-jquery'); // Enqueue it! 

wp_register_script('bootstrap', get_template_directory_uri() . '/js/lib/bootstrap.min.js', array(), '3.3.7'); // Bootstrap 
wp_enqueue_script('bootstrap'); // Enqueue it! 

wp_register_script('sticky', get_template_directory_uri() . '/js/lib/jquery.sticky.js', array(), '1.0.4'); // Sticky 
wp_enqueue_script('sticky'); // Enqueue it! 

wp_register_script('conditionizr', get_template_directory_uri() . '/js/lib/conditionizr-4.3.0.min.js', array(), '4.3.0'); // Conditionizr 
wp_enqueue_script('conditionizr'); // Enqueue it! 

wp_register_script('modernizr', get_template_directory_uri() . '/js/lib/modernizr-2.7.1.min.js', array(), '2.7.1'); // Modernizr 
wp_enqueue_script('modernizr'); // Enqueue it! 

wp_register_script('html5blankscripts', get_template_directory_uri() . '/js/scripts.js', array('jquery'), '1.0.0'); // Custom scripts 
wp_enqueue_script('html5blankscripts'); // Enqueue it! 

は私のスクリプトファイルは、次のようになります正常に2番目に私は "関数ではない"エラーを取得しています。

jqueryのが適切にロードされている(そうsticky.jsである)、それは私がこのような質問のトンがあります知っている

...作業イマイチなぜ私が把握カントが、私はクレイジーつもりです...

答えて

1

ドキュメントには、読み込みスクリプトが依存する登録されたスクリプトハンドルを含める必要があることが記載されています。スティッキーはjQueryに依存します。

$は、登録されたスクリプトの配列は、このスクリプトが依存ハンドル
(配列)(オプション)をDEPS。
デフォルト値:配列()
- https://developer.wordpress.org/reference/functions/wp_enqueue_script/

wp_register_script('sticky', 
    get_template_directory_uri() . '/js/lib/jquery.sticky.js', 
    array(), '1.0.4'); // Sticky 

wp_register_script('sticky', 
    get_template_directory_uri() . '/js/lib/jquery.sticky.js', 
    array('jquery'), '1.0.4'); // Sticky 
+1

うんであるべきです。彼はwp_enqueue_script( 'sticky)を持っていなくても、それを登録してargsスクリプトにそれを前もって読み込む依存関係として使うようにします: 'wp_register_script(' html5blankscripts '、get_template_directory_uri()。' /js/scripts.js '配列( 'jquery'、 'sticky')、 '1.0.0'); //カスタムスクリプト ' - また、プラグインがそのハンドルを使用している場合、 'sticky'は同じスクリプトでなければ問題が発生するので、テーマプレフィックスでiffyのハンドルを作成します。 – Christina

関連する問題