web-dev-qa-db-fra.com

wp_enqueue_script étant ignoré dans le thème personnalisé

J'essaie de mettre en file d'attente un fichier js (calculator.js) à partir du fichier functions.php de mon thème.

J'ai un thème de bureau et un thème de smartphone, et j'utilise un plug-in pour basculer entre les deux thèmes en fonction du périphérique de l'utilisateur.

J'ai exactement le même code sur le thème de mon bureau et il fonctionne parfaitement. Toutefois, lorsque je l'ai copié sur le thème de mon smartphone, il semble ignorer le script de mise en file d'attente.

Voici mon code:

function wpb_adding_scripts() {
    wp_register_script('calculator_script', get_template_directory_uri() . '/js/calculator.js', array( 'jquery' ), NULL, 'all');
    wp_enqueue_script('calculator_script');
    wp_enqueue_style( 'slider', get_template_directory_uri() . '/css/calculator.css',false,'1.1','all');
} 
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' ); 

Ce que j'ai fait/notes:

  • Assurez-vous que le fichier functions.php commence bien par une balise php d'ouverture
  • Assurez-vous que tous les fichiers sont dans leurs bons répertoires
  • La console ne signale aucune erreur
  • Les sources ne montrent pas que mon fichier js est en cours de chargement, mais le fichier css (calculator.css) est chargé correctement.

Des idées sur ce qui pourrait être la cause de ce problème?

Merci beaucoup.

2
Kurisubo
You can better try this way and let me know.

function wpb_adding_scripts() {
    wp_enqueue_style( 'slider', get_stylesheet_directory_uri() . '/css/calculator.css');
    wp_enqueue_script('jquery');
    wp_enqueue_script('calculator_script', get_stylesheet_directory_uri() . '/js/calculator.js');

} 
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' ); 
0
Balas

Juste quelques modifications

function wpb_adding_scripts() {
    wp_enqueue_script( 'calculator_script', get_template_directory_uri() . '/js/calculator.js', array( 'jquery' ), '', true );
    wp_enqueue_style( 'slider', get_template_directory_uri() . '/css/calculator.css' );
} 
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' ); 

utilisez get_stylesheet_directory_uri () au lieu de get_template_directory_uri () si votre fichier functions.php est dans le thème enfant.

Voir si cela fonctionne ou pas (normalement de cette façon, ça marche)

1
maverick

get_template_directory_uri fera toujours référence au dossier de thème parent pour les actifs.

get_stylesheet_directory_uri fera référence au dossier de thème "actuel" pour les actifs (qui peut être le parent ou l'enfant, selon l'endroit où il est appelé).

0
Harsh