Dans le fichier functions.php de mon thème, j'appelle une add_action afin d'obtenir une mesure de contrôle sur l'endroit où jquery est chargé (dans le pied de page avec les autres scripts de mon thème).
Le problème que j'ai est que lorsque j'utilise add_action ('wp_enqueue_scripts'), il ne semble se déclencher que si aucun plugin n'est chargé. Cependant, la méthode add_action ('init') fonctionne dans tous les cas.
Je ne me souviens pas pourquoi, mais je crois que add_action ('wp_enqueue_scripts') est préféré dans ce cas. Si c'est vrai, comment puis-je le faire fonctionner dans tous les cas?
Dans functions.php
//if(!is_admin()){add_action('init', 'my_theme_init');} //THIS WORKS ALL THE TIME
//add_action('wp_enqueue_scripts', 'my_theme_init'); //THIS ONLY WORKS WHEN NO PLUGINS PRESENT
if(!is_admin())
{
require_once(TEMPLATEPATH . '/functions_public.php');
}
Dans functions_public.php
function my_theme_init()
{
/* PREVENT DUPLICATE COPIES OF JQUERY FROM PLUGINS
**************************************************/
wp_deregister_script('jquery');
/* LOAD THE LOCAL WORDPRESS COPY OF JQUERY AND THEME CUSTOM SCRIPTS IN THE FOOTER
***********************************************/
wp_register_script('jquery', get_bloginfo('template_directory').'/scripts.mythemescripts.js',false,false,true);
wp_enqueue_script('jquery');
}
La 2ème méthode, utilisant add_action ('wp_enqueue_scripts'), n'est apparemment pas exécutée dans des conditions où un plugin est présent qui écrit des dépendances de script dans le thème.