28172 sujets

CSS et mise en forme, CSS3

Bonjour

Je suis sous WP 3.3.1, je récupère deux variables (couleurs) dans une page (content-single) et je souhaiterais les insérer dans mon css (couleur insérer dans des custom fields).

Je récupère donc mes couleurs dans mon content-single comme ceci :
$couleur1 = get_post_meta( $post->ID, 'couleur1', false);
$couleur2 = get_post_meta( $post->ID, 'couleur2', false);


Et je fais un lien vers mon css (tjrs dans mon content-single) :
<link href="<?php echo get_template_directory_uri(); ?>/style-dynamique.php?color=<?php echo $couleur1[0] ?>" rel="stylesheet" type="text/css" media="all" />


Et enfin mon style-dynamique.php
<?php header("Content-type: text/css");?>
.singular .entry-header { color:red; background: <?=$couleur1?>; }
.singular .entry-title a { color: <?=$couleur2 ?>; }


Seulement je ne récupère aucune variables ...

Je me suis inspiré de ça et ça mais ça ne fonctionne pas ...

Help please
Modifié par Melusine85 (21 Feb 2012 - 10:19)
Melusine85 a écrit :

Je me suis inspiré de ça...

Il faut récupérer le paramètre transmis par l'url comme expliqué par fvsch et Heyoan dans le sujet.
C'est bien çe que j'ai fais : non ?
Melusine85 a écrit :

Et je fais un lien vers mon css (tjrs dans mon content-single) :
<link href="<?php echo get_template_directory_uri(); ?>/style-dynamique.php?color=<?php echo $couleur1[0] ?>" rel="stylesheet" type="text/css" media="all" />



Et je le récupère comme ceci :
$couleur = $_GET['color'];


Seulement rien ne passe, ma variable est vide...

Et si je veut récupérer plusieurs valeurs, je fais comment ? (j'en ai 2 à récupérer)
Modifié par Melusine85 (16 Feb 2012 - 14:26)
re Smiley smile ,

$couleur1[0] et $couleur1 ne sont pas la même chose, d'un coté tu pointes sur une valeur d'un tableau(array) et de l'autre juste une variable. Il y a une incohérence dans ton code , vérifie ce qu'affiche echo $couleur1[0] Smiley smile .

cordialement
Me suis embrouillé les pédales comme on dit ^^

var_dump($couleur1[0]);
est null (dans le style.php) ... sinon dans mon content-single.php c'est #dd8c53

Merci de m’accorder du temps Smiley cligne
Melusine85 a écrit :
... sinon dans mon content-single.php c'est #dd8c53

ce qui forme bien l'url : /style-dynamique.php?color=#dd8c53 .

Mais le diese(#) est interpréter comme une ancre dans la page sur dd8c53 et color n'a aucune valeur .
Ne passe que le code couleur sans le diese (#) pour faire simple.

++
Merciiiiii ça marche Smiley biggrin

Pour résumer si quelqu'un à besoin :
Dans la page :

<?php $couleur1 = get_post_meta( $post->ID, 'couleur1', false);
$couleur2 = get_post_meta( $post->ID, 'couleur2', false); ?>
<link href="<?php echo get_template_directory_uri(); ?>/style-dynamique.php?color1=<?php echo $couleur1[0] ?>&color2=<?php echo $couleur2[0] ?>" rel="stylesheet" type="text/css" media="all" />


Et dans le style.php :
<?php
header("Content-type: text/css");
$couleur1 = $_GET['color1'];
$couleur2 = $_GET['color2'];
?>
.single .entry-header{ background: #<?=$couleur1?> !important; }
#comments-title, #reply-title{ color: #<?=$couleur1?> !important; }
.commentlist li{ background: #<?=$couleur2 ?> !important; }


Par contre, juste un dernier truc, si je rajoute :
<?php header('HTTP/1.0 304 Not Modified'); ?>

Mes couleurs ne s'affichent plus ... Smiley biggol