J'ai écrit un plugin de galerie basique qui utilise wp_enqueue_style pour inclure une feuille de style sur la page. J'aimerais que le thème WordPress puisse remplacer le style du plugin, ce qui signifie que j'aimerais que mon plugin joue Nice et produise le fichier css avant le thème fichier css.
wp_enqueue_style a un paramètre deps
pour exactement cette exigence. Ma question est quelle valeur dois-je utiliser pour le paramètre deps
si je veux dire "je dépend du fichier CSS de thèmes"?
Le code du plugin actuel est incorrect car il utilise false
pour le paramètre deps
:
// Enqueue a CSS style file - see http://codex.wordpress.org/Function_Reference/wp_enqueue_style
wp_enqueue_style('bitvol_galleria_css', BITVOL_GALLERIA_URL . '/bitvolution-image-galleria.css', false, $this->bitvol_galleria_version, 'all' );
Premier problème - vous avez une dépendance à l'envers. Dépendre de quelque chose signifie charger après dépendance, alors que vous voulez plus tôt.
Deuxième problème - la feuille de style du thème n'utilise pas réellement la mise en file d'attente, elle est généralement codée directement dans le fichier header.php
du thème. Et comme il semble venir avant l'appel wp_head()
, vous n'avez aucun moyen de vous assurer que votre feuille de style est au-dessus.
C'est donc généralement traité comme votre solution de contournement - en file d'attente avec option pour le désactiver par code ou par option dans admin.
Je pensais publier ma solution de contournement que j'utilise jusqu'à ce que je connaisse la réponse à la question ...
Ma solution est la suivante:
style.css
) et modifiez-le si nécessaire.functions.php
:Code à mettre dans functions.php
:
add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'bitvol_galleria_css' );
}
À certains égards, cette solution de contournement pourrait être la meilleure solution? (car les performances du site Web seront meilleures en réduisant au minimum le nombre de ressources CSS incluses dans la section HEAD).