J'ai lu un peu sur ce sujet, mais plus je lis - plus je suis confus.
Quelqu'un peut-il m'expliquer brièvement quelle est la différence exacte entre wp_enqueue_scripts
, wp_register_scripts
et wp_print_scripts
?
Par exemple, j'ai le code suivant dans le fichier functions.php - et cela fonctionne, mais je ne comprends pas pourquoi je ne peux pas utiliser wp_print_scripts
pour les feuilles de style, alors que le code fonctionne toujours si j'utilise wp_enqueue_scripts
pour les fichiers javascript:
add_action('wp_print_scripts', 'add_my_js');
function add_my_js(){
if(!is_admin()){
wp_enqueue_script('default', get_bloginfo('stylesheet_directory').'/js/default.js', array('jquery'));
}
}
add_action('wp_enqueue_scripts', 'add_my_stylesheet');
function add_my_stylesheet() {
wp_register_style('default', get_bloginfo( 'stylesheet_url'));
wp_enqueue_style( 'default');
}
wp_print_scripts
est l'action qui s'exécute lorsque les scripts sont sortis dans le modèle. wp_register_script
et wp_enqueue_script
sont des fonctions permettant d'enregistrer/mettre en file d'attente les scripts à générer lors de l'exécution de wp_print_scripts
.
vous ne pouvez pas enregistrer ou mettre en file d'attente les styles dans le hook d'action wp_print_scripts
car les styles ont déjà été affichés dans le hook wp_print_styles
, qui s'exécute avant le wp_print_scripts
.
reportez-vous à la référence de l'action pour voir l'ordre dans lequel les choses sont exécutées dans une requête:
22. wp_head
23. wp_enqueue_scripts
24. wp_print_styles
25. wp_print_scripts