0

谁能建议我可以让我的 class="selected" 在 Wordpress 中进行导航的方法?

我有一个 wordpress 导航设置:

如果我在主页上,则选择我的主页类。

如果我想转到第一页,我希望这个类在导航中改变,所以只有这个类加载而不是主页。

我使用:class="selected" 来激活我的翻转效果。

我可以让它在一个固定的网站上工作,而不是在 wordpress 上,这里有什么建议吗?

<div class="nav">
  <ul>
  <li class="selected"><a href="#" title="Home">Home</a></li>
  <li><a href="#">One</a></li>
  <li><a href="#">Two</a></li>
  <li><a href="#">Three</a></li>
  <li><a href="#">Four</a></li>
  <li><a href="#">Five</a></li>
  <li><a href="#">Six</a></li>
  </ul>
</div>

我可以在这里使用 if 语句吗?

   <?php if(is_home() ) {

    //for example load class="selected"

    } else {

    //for example if other page don't load class="selected"

   } ?>
4

1 回答 1

1

据我了解,您使用的是硬编码导航,而不是wp_nav_menu()来自 WordPress。

因此,您可以有条件地检查您正在使用的每个页面:

<div class="nav">
  <ul>
  <li<?php echo is_home()? '  class="selected"'; '';?>>
    <a href="#" title="Home">Home</a>
  </li>
  <li<?php echo is_page('Contact')? '  class="selected"'; '';?>>
    <a href="#">Contact page</a>
  </li>
  <li<?php echo is_single('My first Post')? ' class="selected"'; '';?>>
    <a href="#">Myfirst post</a>
  </li>
  </ul>
</div>

您应该使用 WordPress 中的条件标签

如果你看第一个<li>,你会看到<?php echo is_home()? ' class="selected"'; '';?>这段代码表示为三元运算符,相当于

if( is_home() ){
  echo ' class="selected"'; #echo class. white space in front so that it does not stick to the "<li"
else{
  echo ''; #do nothing
}

在上面的示例中,我使用了三个函数:

is_home()- 如果您在主页上,则返回 true

is_page($arg)- 如果您在 指定的页面上,则返回 true $arg

is_single($arg)- 如果您在 指定的帖子上,则返回 true $arg

您可以选择使用其他可用的条件标签。

于 2013-03-09T09:50:53.030 回答