我需要返回所有类别的列表和类别描述以构建子导航。我的下面的代码执行此操作,但我希望能够通过在li元素上添加一个类来突出显示当前类别。我怎么能这样做?
<ul class="category-list">
<?php
$categories = get_categories('exclude=9&title_li=');
foreach ($categories as $cat) {
echo "<li><a href=\"".$cat->category_nicename."\">".$cat->cat_name."<p>".$cat->category_description."</p></a></li>";
}
?>
</ul>
答案 0 :(得分:0)
如果$ name是您要突出显示的名称,
<?php
$name = get_query_vars('category'); //applying what the other answer used
?>
<ul class="category-list">
<?php
$categories = get_categories('exclude=9&title_li=');
foreach ($categories as $cat) {
if($cat->cat_name == $name) { //this might have to be $cat->category_nicename
echo "<li class=\"highlighted\">";
} else {
echo "<li>";
}
echo "<a href=\"".$cat->category_nicename."\">".$cat->cat_name <p>".$cat->category_description."</p></a></li>";
}
?>
</ul>
答案 1 :(得分:0)
在wordpress中,您可以注册相同的菜单,然后将所有类别和子类别添加到列表中,
http://codex.wordpress.org/Function_Reference/register_nav_menus
这样,默认情况下,所有当前的班级和其他导航都可用。
如果你不想那么多,可以使用url中的查询类别,然后检查并突出显示相同的内容。
$current_cat = get_query_vars('category'); //please confirm if its category or cat
然后在你的循环中,检查
foreach ($categories as $cat) {
$class = ( $cat->slug == $current_cat ) ? 'current-item' : ''; ?>
<li class="<?php echo $class; ?>" >
<a href="<?php get_category_link( $cat->term_id ); ?>">
<?php echo $cat->name; ?>
<p>".$cat->description."</p>
</a>
</li><?php
}