我们在自定义导航时,经常需要给当前页面赋值特定的class,那么该如何判断和增加呢?这里提供一种页面判断的方法:
<ul>
<?php
if (is_home() || is_tag() || is_search()){
echo '<li class="hover">';}
else {
echo '<li >';
}
?><a href="<?php bloginfo("siteurl"); ?>">首页</a></li>
<?php
$args=array(
'orderby' => 'name',
'order' => 'ASC',
'child_of' => 0,
);
$categories=get_categories($args);
foreach($categories as $category) {
if (is_home() || is_tag() || is_search()){
echo '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "%s" ), $category->name ) . '" target="_blank" ' . '>' . $category->name.'</a></li>
';
}
else {
$cat = get_the_category();
echo ($category->term_id == $cat[0]->term_id)? '<li class="hover"><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "%s" ), $category->name ) . '" ' . '>' . $category->name.'</a></li>
' : '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "%s" ), $category->name ) . '" target="_blank" ' . '>' . $category->name.'</a></li>
';
}
}
?>
</ul>
这里根据不同的页面,来输出
<li class="hover">
还是
<li>
从而实现导航样式变化,提升导航外观美观度
此外还可以使用这份更精简的代码:
<ul>
<li <?php if (is_home() || is_tag() || is_search()) echo 'class="hover"'; ?>><a href="<?php bloginfo("siteurl"); ?>">首页</a></li>
<?php
$categories = get_categories();
foreach($categories as $category) {
$class = '';
if (!is_home() && !is_tag() && !is_search()) {
$cat = get_the_category();
$class = ($category->term_id == $cat[0]->term_id) ? 'class="hover"' : '';
}
echo '<li ' . $class . '><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></li>';
}
?>
</ul>
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:WordPress页面判断 输出不同的导航外观 实现css样式变化
文章链接:https://www.qqhgg.com/147.html
该作品系作者结合个人学习经验及互联网相关知识整合。如若侵权请通过投诉通道提交信息,我们将按照规定及时处理。