WordPress:使用body_class()时如何通过变量添加额外的类?

时间:2009-10-04 10:45:46

标签: php wordpress class

我正在尝试将一些动态(基于URI)创建的类名添加到标准body_class()语句中。

wordpress codex提到在使用body_class('add-class-here')

时将类放入括号中

但是我需要在body class=""内回显2个变量,所以我尝试按如下方式进行:

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

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

然而,这会导致PHP错误,从而破坏页面。

我尝试添加body_class($dir),当它有效时,添加第二个变量$subdir时失败。

例如。 body_class($dir($subdir?' ':'')$subdir)会导致: Parse error: syntax error, unexpected T_VARIABLE

如果设置了($subdir?' ':''),则$subdir仅用于在类名之间添加空格。

如何在保留标准生成的body_class()函数类的同时将变量添加到body类中的任何想法?

感谢阅读。

1 个答案:

答案 0 :(得分:3)

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