J'ai besoin d'un peu de perspicacité ici avec le problème suivant? J'ai créé un thème enfant appelé 'test_child' que j'essaie d'étendre de la manière suivante:
Voici le fichier test_child/functions.php:
<?php
function load_flaticon() {
wp_enqueue_script(
'flaticon', get_stylesheet_directory_uri() . '/js/flaticon.js', array('jquery')
);
}
add_action( 'wp_enqueue_script', 'load_flaticon' );
?>
Ensuite, voici le fichier test_child/js/flaticon.js:
jQuery(document).ready(function($) {
$("a[href$='.pdf']").addClass('flaticon-pdf19');
$("a[href$='.ppt']").addClass('flaticon-ppt');
$("a[href$='.pptx']").addClass('flaticon-pptx2');
$("a[href$='.doc']").addClass('flaticon-doc2');
$("a[href$='.docx']").addClass('flaticon-docx');
$("a[href$='.xls']").addClass('flaticon-xls1');
$("a[href$='.xlsx']").addClass('flaticon-xlsx');
});
// by the way have already tried the " .ready(function() { " version
À l'intérieur de test_child/header.php, je peux voir quelque part la ligne:
<!-- wp_head() -->
<?php wp_head();?>
Je crois que je le fais "à la livre" (et j'ai étudié d'autres questions similaires), mais encore une fois, il doit y avoir quelque chose qui me manque, car le script n'est pas mis en file d'attente après tout ...
Pourriez-vous s'il vous plaît prêter une nouvelle paire d'yeux?
Je veux aborder la question en deux parties:
Cela n’a pas fonctionné car l’action utilise une forme plurielle: wp_enqueue_scripts
, pas wp_enqueue_script
. Je suppose que cela s’est produit, car la fonction que vous devez utiliser ici - wp_enqueue_script()
- fait utilise un singulier.
Vous ne devez pas utiliser la fonction wp_enqueue_script()
avec autant de paramètres.
Inscrivez-vous vos scripts au début, mettez en file d'attente les en retard.
function register_flaticon() {
wp_register_script(
'flaticon',
get_stylesheet_directory_uri() . '/js/flaticon.js',
array('jquery')
);
}
function enqueue_flaticon() {
wp_enqueue_script( 'flaticon' );
}
add_action( 'wp_loaded', 'register_flaticon' );
add_action( 'wp_enqueue_scripts', 'enqueue_flaticon' );
La raison en est la flexibilité. Il y a quatre actions de mise en file d'attente:
wp_enqueue_scripts
admin_enqueue_scripts
customize_controls_enqueue_scripts
login_enqueue_scripts
Si vous enregistrez votre script suffisamment tôt, vous ou une autre personne pouvez le mettre en file d'attente puis sur l'une des autres actions. Collisions peut être évité , car WordPress n'enregistrera pas un script avec le même descripteur deux fois. Voir aussi ce fil sur la convention de nommage pour les addons jQuery .
get_stylesheet_directory_uri()
ouvrira le répertoire de thème enfant actuel, URI. Par conséquent, il n'obtiendra pas le fichier spécifié car il s'agit d'un thème enfant.
Pour obtenir le fichier, utilisez get_template_directory_uri()
pour obtenir le chemin du répertoire. Le répertoire de modèle que vous avez spécifié dans style.css est indiqué ci-dessous.
Template:your_parent_theme_folder_name