J'essaie d'utiliser un plugin jquery qui ne soit pas compatible avec jquery 1.10.2 dans Wordpress 3.6 et qui a été capable de le réparer en utilisant jquery migrate qui, apparemment, est également livré avec 3.6.
Je pensais que je pourrais peut-être l'inclure comme dépendance, comme ceci:
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 );
}
mais cela ne fonctionne toujours pas, alors j'aimerais de l'aide.
Vous avez une erreur de syntaxe dans votre appel wp_register_script()
:
wp_register_script('curtain-instance', get_stylesheet_directory_uri().'/curtain-instance.min.js', array('curtain','jquery','jquery-migrate'), true );
Il vous manque le paramètre 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
);
Essayez d'ajouter ce paramètre:
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
);
Deux autres choses:
get_template_directory_uri()
plutôt que get_stylesheet_directory_uri()
.Vous pouvez simplifier les choses en chaînant vos dépendances, puis en mettant en file d'attente les dernières dans la chaîne:
add_action ('wp_enqueue_scripts', 'tf_load_custom_scripts');
fonction 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
);
}
Enfin, notez que lorsque WordPress enregistre jQuery, ildéfinit jquery-migrate
en tant que dépendance :
$scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.10.2' );
Alors, essayez de supprimer la dépendance 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
);
}