如何以类的形式将页面的所有相关标签跟踪到<body>
标签?我指的是Wordpress如何将以下内容放在页面的body类属性中:
home page page-id-12766 page-template page-template-page-home-php cufon2-disabled safari theme-*
这在Joomla模板开发中非常有用。
提前致谢。
答案 0 :(得分:1)
我不知道是否有任何开箱即用的解决方案。由于网站的主要结构主要基于菜单结构,因此下面的代码段可能很有用。这在templates / mytemplate / index.php文件中使用。
<?php
$menu = &JSite::getMenu();
$active = $menu->getActive();
$pageclass= '' ;
//$currentpage = ''; //In case if wanted to get the alias of the current page in a later stage.
if( count($active->tree) > 0 ) {
foreach ($active->tree as $key => $value) {
$pageclass .= 'level-'.$key . ' pageid-'.$value. ' page-'.$menu->getItem($value)->alias ;
//$currentpage = $menu->getItem($value)->alias;
}
}
?>
<body class="<?php echo $pageclass; ?>">
这将输出如下内容:
<body class="level-0 pageid-101 page-home">
您可以使用$active
变量中的各种值来改善这一点。
答案 1 :(得分:0)
Wordpress如何确定使用它来应用哪些类可以在post-template.php
中找到您正在寻找的相关功能是此模板中的get_body_class。它基本上运行一系列检查以确定当前页面是否满足给定类的标准。它还严重依赖于Wordpress特定的函数调用,这有助于做出决定。