我正在Wordpress模板上制作菜单,需要菜单来检测当前页面并突出显示它。例如,我的菜单是:
<li><a href="index.php" class="current">Home</a></li>
<li><a href="about.php">About</a></li>
因此,如果用户位于“关于”页面上,我希望该用户具有“class = current”。这怎么可能?我听说使用$_SERVER['PHP_SELF']
是可能的吗?请注意,我对PHP编码没有任何了解,所以请详细说明任何回复。
答案 0 :(得分:12)
我使用了一个像这样的小片段。如果您的访问者位于about.php
,则$basename
将等于about
。
$basename = substr(strtolower(basename($_SERVER['PHP_SELF'])),0,strlen(basename($_SERVER['PHP_SELF']))-4);
HTML就是这样的。
<li><a href="index.php"<?php if ($basename == 'index') echo ' class="current"'; ?>>Home</a></li>
<li><a href="about.php"<?php if ($basename == 'about') echo ' class="current"'; ?>>About</a></li>
答案 1 :(得分:1)
$myPage = $_SERVER['PHP_SELF'];
<li><a href="index.php" class="<?echo ($myPage == 'index.php'?'current':'')?>">Home</a></li>
<li><a href="about.php" class="<?echo ($myPage == 'about.php'?'current':'')?>">About</a></li>
答案 2 :(得分:0)
您可以使用以下形式的内容:
<li><a href="index.php"<?php if($_SERVER['PHP_SELF'] == 'index.php') echo ' class="current"'); ?>>Home</a></li>
<li><a href="about.php"<?php if($_SERVER['PHP_SELF'] == 'about.php') echo ' class="current"'); ?>>About</a></li>
那就是说,您可能希望将上述内容合并到一个函数中。
无论如何,我建议您在继续之前阅读PHP手册的getting started section - 这是明智的花时间。