2013-04-26 5 views
-5

Je suis en train de créer un thème Wordpress. Je veux personnaliser beaucoup de choses CSS de l'utilisateur. Je souhaite que ces modifications soient effectuées sur le fichier CSS lors de la sélection de l'utilisateur. Je sais comment importer/inclure un fichier CSS en utilisant le code PHP mais ne pas comprendre comment utiliser avec Wordpress.comment utiliser le code php dans le fichier css

Quelqu'un peut-il vous aider s'il vous plaît?

Répondre

5

Rien de magique:

css.php

<?php 

header('Content-type:text/css'); 
$color = 'puce'; 
?> 

body { 
    color: <?php echo $color ?>; 
} 

html:

<link rel="stylesheet" ref="css.php" type="text/css" /> 

ou ... comme vous le dites dans le coup de commentaires, vous ne pouvez pas utiliser Fichier css nommé .php, puis

theme.css

@import url('theme.php'); 

theme.php:

... code as above ... 
+0

Donc il y aurait 2 attributs de lien? Un pour style.css et un autre pour css.php comme décrit ci-dessus. Correct? – Prashant

+0

Non, vous remplacez style.css par style.php. Vous renommez simplement votre feuille de style. – Michael

+0

Mais si je renommer styles.css par style.php Wordpress ne reconnaîtra pas ce thème. – Prashant

0

Comme alternative, vous pouvez l'ajouter à un fichier htaccess pour interpréter des fichiers CSS avec le gestionnaire script PHP:

AddHandler application/x-httpd-php .css 

Cependant, je recommande Marc La solution de B car elle ne nécessite pas htaccess.

+1

Devrait vraiment être évité car techniquement sans exprimer ensuite l'en-tête 'content-type' un fichier * .css * sera alors servi comme' text/html' - comme un projet change, il est presque inévitable que ceci sera négligé. – Emissary

+0

@Emissaire convenu. J'utilise la méthode de Marc B, moi-même. – showdev

0

En tout cas, alors que les deux autres réponses sont parfaitement valables. SI ce que vous voulez faire est d'utiliser des variables pour prédéfinir certaines valeurs. Vous devriez regarder dans SASS. SASS permet des variables, des règles imbriquées et plus encore.