Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用body_class()时,如何通过变量添加额外的类?_Php_Wordpress_Class - Fatal编程技术网

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

Php 使用body_class()时,如何通过变量添加额外的类?,php,wordpress,class,Php,Wordpress,Class,我正在尝试将一些动态(基于URI)创建的类名添加到标准的body\u class()语句中 wordpress codex提到在使用body_class('add-class-here') 但是,我有两个变量需要在body class=”“中回显,因此我尝试如下操作: <?php $url = explode('/', $_SERVER['REQUEST_URI']); $dir = $url[2] ? $url[2] : 'home'; $subdir = $url[3] ? $url[

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

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

但是,我有两个变量需要在
body class=”“
中回显,因此我尝试如下操作:

<?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\u类($dir)
,当它工作时,添加第二个变量
$subdir
失败

例如,
body\u类($dir($subdir?“”)$subdir)
导致:
分析错误:语法错误,意外的T_变量

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

您知道如何将变量添加到body类中,同时保留
body\u class()
函数的标准生成类吗


谢谢阅读。

谢谢!它确实解决了这个问题。再次感谢,谢谢!它确实解决了这个问题。再次感谢。
$path = (isset($subdir) && !empty($subdir)) 
  ? $dir . ' ' . $subdir 
  : $dir . $subdir;
body_class($path);