【发布时间】:2020-01-01 06:39:54
【问题描述】:
我正在尝试使用is_page() 函数设置活动链接的样式。它适用于第一个导航项目。但是当我单击“om”链接时,它将获得样式,但“hem”的样式仍然存在。但是,当我单击“博客”和“教程”链接时,这些链接都没有任何样式。
这是我在 header.php 中的代码。
<nav>
<button class="menuButton">Meny</button>
<div class="menu">
<a href="#" class="closebtn">x</a>
<ul>
<h2>Meny</h2>
<li class="<?php if (is_page("")) { echo "active-page"; } ?>"><a href="<?php echo site_url(''); ?>">Hem</a></li>
<li class="<?php if (is_page("/om")) { echo "active-page"; } ?>"><a href="<?php echo site_url('/om'); ?>">Om</a></li>
<li class="<?php if (is_page("/blogg")) { echo "active-page"; } ?>"><a href="<?php echo site_url('/blogg'); ?>">Blogg arkiv</a></li>
<li class="<?php if (is_page("/tutorial")) { echo "active-page"; } ?>"><a href="<?php echo site_url('/tutorials'); ?>">Tutorials arkiv</a></li>
</ul>
</div>
</nav>
这是使用is_page()函数的错误方式吗?我在这里有点迷路了。应用的样式只是一个简单的text-decoration: underline; CSS 样式。
【问题讨论】:
-
这不是你想的。
is_page()用于确定查询是否针对现有单页。 -
你可以使用这个
global $wp; $current_url = home_url( add_query_arg( array(), $wp->request ) );获取当前页面的URL。 -
或者你为什么不直接使用
wp_nav_menu来创建你的菜单