quand je charge le script par défaut jquery-ui-autocomplete de wordpress via
wp_enqueue_script( 'jquery-ui-autocomplete', '', array( 'jquery-ui-widget', 'jquery-ui-position' ), '1.8.6' );
il est intégré et tout fonctionne correctement, à l'exception du message de notification gênant en mode débogage:
Remarque: wp_enqueue_script a été appelé de manière incorrecte. Les scripts et les styles ne doivent pas être enregistrés ou mis en file d'attente avant les scripts wp_enqueue_scripts, admin_enqueue_scripts ou init.
La solution est donc assez simple, emballez seulement l'appel wp_enqueue_script
:
function add_scripts(){
wp_enqueue_script( 'jquery-ui-autocomplete', '', array( 'jquery-ui-widget', 'jquery-ui-position' ), '1.8.6' ); //don't loads the autocomplete
wp_enqueue_script( 'jquery-ui-autocomplete'); //same as above
}
add_action('wp_enqueue_scripts', 'add_scripts');
MAIS ces techniques n’intègrent pas le jquery-ui-autocomplete script
, seul le message gênant disparaît. La seule façon dont le script jquery-ui-autocomplete
est incorporé est sans l'envelopper ...
Où est mon erreur? Selon la documentation dans le codex, cela devrait être fait en encapsulant l'appel et en appelant simplement wp_enqueue_script( 'jquery-ui-autocomplete');
dedans.
BR, mybeck
Êtes-vous sûr qu'il ne se charge pas? J'ai essayé ceci (en utilisant WordPress 3.6-beta1):
function add_scripts(){
wp_enqueue_script( 'jquery-ui-autocomplete' );
}
add_action('wp_enqueue_scripts', 'add_scripts');
JQuery et jQuery ont migré dans l'en-tête:
<script type='text/javascript' src='http://localhost/wordpress/wp-includes/js/jquery/jquery.js?ver=1.9.1'></script>
<script type='text/javascript' src='http://localhost/wordpress/wp-includes/js/jquery/jquery-migrate.js?ver=1.1.1'></script>
Et jQuery UI en bas de page:
<script type='text/javascript' src='http://localhost/wordpress/wp-includes/js/jquery/ui/jquery.ui.core.min.js?ver=1.10.2'></script>
<script type='text/javascript' src='http://localhost/wordpress/wp-includes/js/jquery/ui/jquery.ui.widget.min.js?ver=1.10.2'></script>
<script type='text/javascript' src='http://localhost/wordpress/wp-includes/js/jquery/ui/jquery.ui.position.min.js?ver=1.10.2'></script>
<script type='text/javascript' src='http://localhost/wordpress/wp-includes/js/jquery/ui/jquery.ui.menu.min.js?ver=1.10.2'></script>
<script type='text/javascript' src='http://localhost/wordpress/wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js?ver=1.10.2'></script>
Avez-vous wp_head()
et wp_footer()
dans votre thème? Avez-vous essayé avec un thème simple et tous les plugins désactivés?
Pour pouvoir utiliser l'action wp_enqueue_scripts et être appelé par WordPress, la fonction appel wp_head () doit être ajoutée avant la balise de fin et la fonction wp_foot (); doit être ajouté avant la balise de corps se terminant ou