如何以类的形式将页面的所有相关标签跟踪到<body>
标签?我指的是 Wordpress 如何将以下内容放入页面的 body 类属性中:
home page page-id-12766 page-template page-template-page-home-php cufon2-disabled safari theme-*
这对 Joomla 模板开发非常有帮助。
提前致谢。
我不知道是否存在任何开箱即用的解决方案。由于该站点的主要结构主要基于菜单结构,因此以下代码段可能有用。这在模板/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
。
在post-template.php中可以找到 Wordpress 如何使用它来确定应用哪些类
您正在寻找的相关功能是此模板中的 get_body_class。它本质上运行一系列检查以确定当前页面是否符合给定类的标准。它还严重依赖于帮助做出决定的 Wordpress 特定函数调用。