在我的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";
则可以使用。为什么是这样?有更简单的方法吗?
答案 0 :(得分:0)
这可能与get_header()函数不知道$ about变量的事实有关。这与the PHP variable scope。
有关我解决这个问题的方法是使用Wordpress API to generate a menu。这样,每个页面都会自动检测它是否为“活动”页面,并将该类添加到其相关菜单项中。
答案 1 :(得分:0)
我还建议您使用wp_nav_menu()使菜单动态化。但是,如果您不想使用wp_nav_menu(),您还可以使用header.php中的页面ID激活菜单项