如何以类的形式将页面的所有相关标记跟踪到<body>
标记?我指的是Wordpress如何将以下内容放入页面的主体类属性中:
home page page-id-12766 page-template page-template-page-home-php cufon2-disabled safari theme-*
这对Joomla模板的开发非常有帮助。
提前谢谢。
我不知道是否有现成的解决方案。由于网站的主要结构主要基于Menu结构,因此下面的片段可能很有用。这在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
变量中的各种可用值来改进这一点。
以下是关于Body class Function 的一些信息
Wordpress如何确定使用它应用哪些类可以在post-template.php 中找到
您要查找的相关函数是该模板中的get_body_class。它本质上运行一系列检查,以确定当前页面是否符合给定类的标准。它也在很大程度上依赖于Wordpress特定的函数调用,这有助于做出决定。