【问题标题】:highlight a wordpress nav link for a single page突出显示单个页面的 wordpress 导航链接
【发布时间】:2021-09-21 07:45:27
【问题描述】:

我有一个存档事件页面,该页面链接到一个页面,该页面列出了过去创建的所有以前的事件,并且只能通过存档事件页面访问。

我的问题是,如何在查看此单个页面时突出显示存档事件页面 url 链接?

例如,下面的 sn-p 以硬编码的导航链接为目标,以在查看其他页面时突出显示事件链接,但是我的菜单不是硬编码的:

<nav class="main-navigation">
  <ul>
    <li>...</li>
    <li>...</li>
    <li> 
      <?php if(get_post_type() == 'event' OR is_page('past-events')) echo 'class="current-menu-item"';?>>
      <a href="<?php echo get_post_type_archive_link('event'); ?>">events</a>
    </li>
    <li>...</li>
  </ul>
</nav>

对于通过 wordpress 仪表板菜单创建的动态菜单,我正在关注的教程并未在 functions.php 页面中提供类似的替代编码方式。

我已经尝试搜索示例,但到目前为止我还没有找到任何有用的东西并且需要一些外部帮助。

我该怎么做?

【问题讨论】:

    标签: php wordpress menu navigation


    【解决方案1】:

    我可以看出有问题。你没有把php代码放在正确的地方。更正的代码是这样的。试试这个,让我知道它是否有效

    <nav class="main-navigation">
      <ul>
        <li>...</li>
        <li>...</li>
        <li <?php if(get_post_type() == 'event') echo 'class="current-menu-item"';?>> 
          <a href=""<?php echo get_post_type_archive_link('event'); ?>"></a>
        </li>
        <li>...</li>
      </ul>
    </nav>
    

    【讨论】:

    • 忘记放置错误...这只是我想使用的 php if 语句的一个示例,但它是一个硬编码到 php 文件中的导航。我需要使用一些类似的逻辑来代替使用 wordpress 菜单...
    • 似乎有一个与问题相同的错字。 href属性的开头有2个"引号,会阻止href链接。
    【解决方案2】:

    好的,我想我已经找到了一个解决方案——作为一个新手——已经奏效了!

    希望有人可以指出我可以做出的任何更改/改进,但这里是:

    要突出显示与您正在/查看的页面不同的页面的菜单链接,例如在我的场景中:我有一个存档事件页面,在该页面中我有一个链接,可将您带到一个页面列出了所有过去的事件,但在主导航中没有指向它的链接。

    function nav_class($classes) {
        // Remove "current-menu-item" class
        $classes = array_diff($classes, array('current-menu-item'));
    
        // If this is the "past-events" page, highlight the event menu item
        if (in_array('menu-item-36', $classes) && is_page('past-events')) {
            $classes[] = "current-menu-item";
        }
        return $classes;
    }
    add_filter('nav_menu_css_class', 'nav_class', 10, 2);
    

    我希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-10-01
      • 1970-01-01
      • 2014-09-13
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      相关资源
      最近更新 更多