web-dev-qa-db-fra.com

Est-il possible de mettre en attente une chaîne CSS directement à partir d'un fichier de modèle?

Je me demandais s'il était possible de mettre en file d'attente des CSS brutes sous forme de chaîne directement à partir d'un fichier de modèle?

J'écris un modèle personnalisé pour une page et je dois lui ajouter des règles de style. Ce que je veux faire, c'est écrire les styles sous forme de chaîne var dans PHP, puis utiliser la fonction enqueue_style pour charger ces styles, plutôt que de devoir les ajouter à 'style.css' ou à un autre type externe. feuille de style.

J'ai supposé que tant que je mettrais en file d'attente mes styles avant d'appeler la fonction 'get_header', et si je me connectais aux actions 'wp_head' ou 'wp_enqueue_styles', cela fonctionnerait, mais cela ne semble pas et je ne le suis pas sure si 'wp_enqueue_style' peut prendre une chaîne CSS brute.

Quelqu'un a un conseil s'il vous plaît?

Sincères amitiés,

Chris

4
Chris

Oui et non.

Vous pouvez charger une chaîne CSS brute dans l'en-tête par programme, mais vous ne pouvez pas utiliser wp_enqueue_style() pour la mettre en file d'attente. Cette fonction charge spécifiquement files dans l'en-tête des balises <link>.

Mais ce que vous pouvez faire est quelque chose comme ceci:

function print_inline_script() {
?>
<style type="text/css">
/* ... styles go here ... */
</style>
<?php
}
add_action( 'wp_head', 'print_inline_script' );
8
EAMann

Désolé, je viens de remarquer ce bit:

J'ai supposé que tant que je mettrais en file d'attente mes styles avant d'appeler la fonction 'get_header', et si je me connectais aux actions 'wp_head' ou 'wp_enqueue_styles', cela fonctionnerait, mais cela ne semble pas et je ne le suis pas sure si 'wp_enqueue_style' peut prendre une chaîne CSS brute.

Cela devrait fonctionner, assurez-vous que vous avez entré à la fois un descripteur et une URL pour votre fichier CSS.

1
kevin conboy

Oui tant qu'il est enregistré/mis en file d'attente avant wp_head () dans l'en-tête.

0
kevin conboy