2009-10-04 8 views
0

J'essaye d'ajouter dynamiquement (basé sur l'URI) les noms de classe créés dans l'instruction standard body_class().WordPress: Comment puis-je ajouter des classes supplémentaires via des variables lors de l'utilisation de body_class()?

Le codex wordpress mentions de mettre la classe dans les supports en utilisant le body_class('add-class-here')

mais j'ai 2 variables que je dois faire écho à l'intérieur du body class="" donc j'ai essayé de le faire comme suit:

<?php 
$url = explode('/', $_SERVER['REQUEST_URI']); 
$dir = $url[2] ? $url[2] : 'home'; 
$subdir = $url[3] ? $url[3] : ''; 
?> 

<body <?php body_class(<?=$dir?><?=($subdir?' ':'')?><?=$subdir?>); ?>> 

Cela se traduit cependant par une erreur PHP, brisant ainsi la page.

J'ai essayé d'ajouter body_class($dir) et tandis que cela fonctionne, lors de l'ajout de la deuxième variable $subdir il échoue.

par ex. body_class($dir($subdir?' ':'')$subdir) résultats dans: Parse error: syntax error, unexpected T_VARIABLE

le ($subdir?' ':'') est seulement là pour ajouter un espace entre les noms de classe si $subdir est réglé.

Des idées comment je peux ajouter mes variables dans la classe de corps tout en gardant les classes générées standard de la fonction body_class()?

Merci d'avoir lu.

Répondre

3
$path = (isset($subdir) && !empty($subdir)) 
    ? $dir . ' ' . $subdir 
    : $dir . $subdir; 
body_class($path); 
+0

@Jannis: Cela devrait y remédier –

+0

Merci! Cela l'a effectivement réglé. Merci encore. – Jannis

Questions connexes