gpt4 book ai didi

wordpress - 我可以在 Wordpress wp_nav_menu() 中的 anchor 标记后添加分隔符
  • 吗?
  • 转载 作者:行者123 更新时间:2023-12-01 04:36:57 24 4
    gpt4 key购买 nike

    我需要添加 <li> anchor 标记后的分隔符如下:

       <li id="menu-item-27" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27"><a href="services">Services</a></li>
    <li class="separator>//</li>
    <li id="menu-item-28" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27"><a href="gallery">Gallery</a></li>
    <li class="separator>//</li>

    最佳答案

    这是一个老问题,但我偶然发现了同样的问题并使用自定义 Walker 解决了它。

    首先,walker 在每个 <li> 之后添加一个分隔符在顶层:

    class Main_Menu_Walker extends Walker_Nav_Menu{

    function end_el( &$output, $item, $depth = 0, $args = array() ) {
    $output .= "</li>\n";

    if ($depth == 0)
    $output .="<li class='separator'>|</li>\n";
    }
    }

    然后你可以使用li:last-child并隐藏最后一个分隔符或使用过滤器并在需要 ie7 支持时将其删除。这是我的过滤器:

    function menu_remove_last_separator($items){

    $separator = "<li class='separator'>|</li>";
    $pos = strrpos($items, $separator);

    if ($pos)
    $items = substr_replace($items, '', $pos, strlen($separator));

    return $items;
    }

    add_filter( 'wp_nav_menu_items','menu_remove_last_separator');

    现在您必须使用助行器作为 wp_nav_menu 的参数:

    wp_nav_menu(array(
    'theme_location' => 'navigation',
    'container' => false,
    'menu_class' => 'inline',
    'walker' => new main_menu_walker()
    )
    );

    关于wordpress - 我可以在 Wordpress wp_nav_menu() 中的 anchor 标记后添加分隔符 <li> 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5717957/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com