【问题标题】:how to add data attribute to a specific <li> element in wordpress nav menu如何将数据属性添加到 wordpress 导航菜单中的特定 <li> 元素
【发布时间】:2021-06-29 17:57:10
【问题描述】:

我正在使用 wordpress 并尝试将数据属性添加到仅 1 个主菜单项。专门针对

  • 元素。我看到了这个链接 (how to add data attribute to a <li> element in wordpress nav menu),我正在尝试缩小它目前的范围(并且显然针对每个
  • 项目)。

    这是我的代码,它工作得很好,因为只有在插件的关联类也存在时才会触发正确的行为(仅在该 1 项中)。但我想学习更有针对性的方法。

    function booking_menu_atts( $items, $args ) {
    $dom = new DOMDocument();
    $dom->loadHTML($items);
    $find = $dom->getElementsByTagName('li');
    
    foreach ($find as $item ) :
        $item->setAttribute('data-agent','any');
        $item->setAttribute('data-hide-panel','yes');
    endforeach;
    return $dom->saveHTML();}
    add_filter('wp_nav_menu_items', 'booking_menu_atts', 10, 3);
    

    这可行,但我如何定位具有特定类或特定

  • 菜单 id 的
  • 菜单项

    不确定我使用的语言是否足够清晰,但我想改进,提前致谢。

  • 【问题讨论】:

      标签: php wordpress custom-data-attribute


      【解决方案1】:

      我猜你需要为某些菜单或子菜单添加特定的行为。

      这可以很容易地实现

      WP 后端 -> 菜单 -> 点击一个项目,在标签下方您将拥有 CSS 类(可选)- 在这里您可以添加类并编写其各自的 css。

      要获得此功能,请转到屏幕选项并启用 css 类 - 请参阅附加图片

      另一个选项how to add data attribute to a <li> element in wordpress nav menu

      【讨论】:

        【解决方案2】:

        尝试给你的“li”一些 ID 而不是:

        $find = $dom->getElementsByTagName('li');   
        

        试试:

        $find = $dom->getElementsById('#youridname'); 
        

        【讨论】:

        • 我尝试研究如何将#ID 标签添加到 wordpress 中的菜单项,这似乎是另一组任务,我也尝试研究类,似乎 getElementsByClassName() 是一回事,但我不能让它在没有严重错误的情况下工作。所以这对我不起作用,因为我无法使用 #Id 标签或不知道如何使用。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-30
        • 2014-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多