中的页面id使菜单项处于活动状态。
在我的WordPress主题中,我在header.php中为菜单添加了以下内容:
<li><a href="about-us" class="<?php echo $about; ?>">About Us</a></li>
<li><a href="contact" class="<?php echo $contact; ?>">Contact</a></li>
但是当我在about us模板中包含以下代码时:
<?php /* Template Name: About Us */ ?>
<?php $about = "active"; ?>
<?php get_header() ?>
选项卡不会变成"活动",尽管如果我在header.php文件中包含代码片段$about = "active";
,它可以工作。为什么会这样?有更简单的方法吗?
这可能与get_header()函数不知道$about变量有关。这与PHP变量作用域有关。
我解决这个问题的方法是使用Wordpress API生成一个菜单。这样,每个页面都会自动检测它是否是"活动"页面,并将该类添加到相关的菜单项中。我还建议您使用wp_nav_menu()使您的菜单动态。但是,如果不希望使用wp_nav_menu(),也可以使用header.php