web-dev-qa-db-fra.com

Le meilleur moyen d’ajouter des CSS pouvant être manipulés par l’utilisateur via des panneaux d’options thématiques?

J'ai pensé l'ajouter en tant que CSS en ligne avec le code du functions.php (je ne sais pas vraiment comment le faire).

Quelque chose comme ça:

function addcss() {
   background: $this_is_the_css_value;
}

J'aimerais savoir ça. Mais s'il y a une meilleure option (sans ajouter de CSS en ligne). Je voudrais le savoir aussi.

1
janoChen

Une façon de faire serait de créer un fichier "CSS" à partir de PHP. En d’autres termes, créez un fichier, appelez-le comme suit: style.css.php et, au début du fichier, entrez:

<?php header("Content-type: text/css"); 

Ensuite, liez ce fichier dans la tête de votre fichier de thème. Étant donné que le fichier style.css.php est un fichier PHP, tout ce que vous pouvez faire dans un fichier normal PHP peut être effectué dans ce fichier. En tant que tel, vous pouvez extraire les valeurs des options de thème de la base de données et les utiliser. Par exemple:

#header{
    background: <?php echo get_option('my-header-background-color'); ?>
}

Bien sûr, vous devez d'abord inclure les options dans la base de données, mais comme votre question ne répond pas à cette question, je ne vais pas en parler ici.

2
tollmanz

Générer CSS à partir de PHP signifie qu'il doit exécuter ce code pour chaque chargement de page, s'il est possible de générer un fichier CSS statique, puis de le mettre en file d'attente.

Alors ... Voir:

Comment ajouter des options CSS à mon plugin sans utiliser de styles en ligne? ou

Le meilleur moyen d’injecter des CSS dans admin_head dans les plugins? ou

Comment ajouter une feuille de style CSS de manière dynamique dans wordpress

2
edelwater