J'ai ajouté le code suivant à mon functions.php
:
if(!function_exists('bi_frontend_scripts')) {
function bi_frontend_scripts() {
wp_enqueue_script('jquery');
// I originally wanted to do:
wp_enqueue_script('jQuery.bxSlider', get_bloginfo('template_url').'/scripts/jquery.bxslider/jquery.bxslider.min.js', array('jquery'));
}
}
add_action('wp_enqueue_scripts', 'bi_frontend_scripts');
Mais apparemment, aucun des scripts n'est mis en file d'attente. Je n'ai pas compris quel était mon problème, j'ai donc ajouté ce script pour savoir si le hook s'appelle:
function aal_handler() {
static $list = array();
// exclude certain actions:
$exclude = array('gettext', 'gettext_with_context');
$action = current_filter();
if(!in_array($action, $exclude)) {
$list[] = $action;
}
// shutdown is the last action
if ('shutdown' == $action) {
print '<pre>' . implode( "\n", $list ) . '</pre>';
}
}
add_action('all', 'aal_handler', 99999, 99);
Et dans la liste, wp_enqueue_scripts
n'apparaît pas. Alors pourquoi le crochet ne s'appelle pas?!
Votre code est correct, bien que je n’ajoute pas le rappel si le nom de la fonction a déjà été utilisé. Si quelqu'un d'autre a utilisé le nom, vous ne savez pas ce que vous pourriez ajouter.
if(!function_exists('bi_frontend_scripts')) {
function bi_frontend_scripts() {
wp_enqueue_script('jquery');
// I originally wanted to do:
wp_enqueue_script('jQuery.bxSlider', get_bloginfo('template_url').'/scripts/jquery.bxslider/jquery.bxslider.min.js', array('jquery'));
}
add_action('wp_enqueue_scripts', 'bi_frontend_scripts');
}
J'ai aussi testé votre fonction "hook dump" - aal_handler()
--, et ça marche. wp_enqueue_scripts
fait partie de la sortie.
Je dois conclure qu'il y a quelque chose qui ne va pas avec le thème. wp_enqueue_scripts
EST RELIÉ À wp_head
, qui se déclenche dans la fonction wp_head()
. La possibilité la plus évidente est que votre thème n'utilise pas wp_head()
correctement ou pas du tout. Une autre possibilité lointaine est que quelque chose a supprimé votre rappel - par exemple, avec:
remove_all_filters('wp_enqueue_scripts');