我可以添加分隔符吗<;李>;在Wordpress wp_nav_menu()中的锚定标记之后?

我可以添加分隔符吗<;李>;在Wordpress wp_nav_menu()中的锚定标记之后?,wordpress,Wordpress,我需要在锚点标记后添加分隔符,如下所示: <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"

我需要在锚点标记后添加分隔符,如下所示:

   <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>
  • //

  • 是的,有两种不同的方法,但是下面的$arg将有所帮助

    美元之前 (字符串)(可选)链接前的输出文本

        Default: None 
    
    美元之后 (字符串)(可选)链接结束后的输出文本

        Default: None 
    
    $link_之前 (字符串)(可选)在链接文本之前输出文本

        Default: None 
    
        Default: None
    
    $link_之后 (字符串)(可选)链接文本后的输出文本

        Default: None 
    
        Default: None
    
    试一试

    $args=array('after'=>'
  • /
  • '); wp_导航菜单($args);
    这是一个古老的问题,但我偶然发现了同样的问题,并用一个定制的助行器解决了它

    首先,walker在顶层的每个
  • 之后添加一个分隔符:

    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";        
        }
    }
    
    现在,您必须使用walker作为
    wp\u nav\u菜单的参数

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

    但是我不需要链接这个//,我需要这个分隔符是一个单独的li标记好的,我已经编辑它来做这个。如果您需要删除最后一个类,我会在
  • 元素中添加一个类,并使用CSS的最后一个子伪类。。。带有.submenu的Div将添加到LI的外部,这将导致菜单的子菜单部分功能不好。可以通过扩展默认的“Walker\u Nav\u menu”wp函数来解决此问题,在每个LI之前添加.sep类,如果需要,第一个.sep类也可以通过jQuery拥有.first类,sep将被删除,需要在wordpress菜单的参数中调用description_walker()。如果需要,我可以在回答中写下详细的解释,只需打开问题并链接到它,然后邀请我回答。谢谢