私はWordpress 3.6のjquery 1.10.2と互換性のないjqueryプラグインを使用しようとしていて、どうやら3.6も同梱されているjquery migrateを使用して修正できました。
私はおそらくそれを依存関係として含めることができると思いました。
add_action('wp_enqueue_scripts', 'tf_load_custom_scripts');
function tf_load_custom_scripts() {
wp_register_script('curtain', get_stylesheet_directory_uri().'/curtain.min.js', array('jquery', 'jquery-migrate'), 2.0 );
wp_register_script('curtain-instance', get_stylesheet_directory_uri().'/curtain-instance.min.js', array('curtain','jquery','jquery-migrate'), true );
if( is_front_page() ) {
wp_enqueue_script('curtain');
wp_enqueue_script('curtain-instance');
}
wp_enqueue_script('custom_script', get_stylesheet_directory_uri().'/script.min.js', array('jquery'), 1.0, true );
}
それでもまだうまくいかないので、助けが欲しいのですが。
wp_register_script()
呼び出しに構文エラーがあります。
wp_register_script('curtain-instance', get_stylesheet_directory_uri().'/curtain-instance.min.js', array('curtain','jquery','jquery-migrate'), true );
version
パラメータがありません。
wp_register_script(
// Handle
'curtain-instance',
// Path
get_stylesheet_directory_uri().'/curtain-instance.min.js',
// Dependencies
array('curtain','jquery','jquery-migrate'),
// Version
// In footer?
true
);
そのパラメータを追加してみてください。
wp_register_script(
// Handle
'curtain-instance',
// Path
get_stylesheet_directory_uri().'/curtain-instance.min.js',
// Dependencies
array('curtain','jquery','jquery-migrate'),
// Version
'1.0',
// In footer?
true
);
他に2つあります。
get_template_directory_uri()
ではなくget_stylesheet_directory_uri()
を使用する必要があります。依存関係を連鎖させて、チェーンの最後のものだけをエンキューすることで物事を単純化できます。
add_action( 'wp_enqueue_scripts'、 'tf_load_custom_scripts');
関数tf_load_custom_scripts(){
wp_register_script( 'curtain',
get_template_directory_uri().'/curtain.min.js',
array( 'jquery', 'jquery-migrate' ),
2.0
);
wp_register_script(
'curtain-instance',
get_template_directory_uri().'/curtain-instance.min.js',
array( 'curtain' ),
'1.0',
true
);
if ( is_front_page() ) {
wp_enqueue_script('curtain-instance');
}
wp_enqueue_script(
'custom_script',
get_template_directory_uri().'/script.min.js',
array( 'jquery' ),
1.0,
true
);
}
そして最後に、WordPressがjQueryを登録するとき、 itはjquery-migrate
を依存関係として定義します :
$scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.10.2' );
そのため、jquery-migrate
依存関係を削除してみてください。
add_action('wp_enqueue_scripts', 'tf_load_custom_scripts');
function tf_load_custom_scripts() {
wp_register_script( 'curtain',
get_template_directory_uri().'/curtain.min.js',
array( 'jquery' ),
2.0
);
wp_register_script(
'curtain-instance',
get_template_directory_uri().'/curtain-instance.min.js',
array( 'curtain' ),
'1.0',
true
);
if ( is_front_page() ) {
wp_enqueue_script('curtain-instance');
}
wp_enqueue_script(
'custom_script',
get_template_directory_uri().'/script.min.js',
array( 'jquery' ),
1.0,
true
);
}