如何使用walker_NAV_MENU类更改菜单标记?

时间:2016-12-05 作者:Mahade Walid

我想删除< ul >,< li > 标记并添加< span > 标签位于< a > 标签

    <nav class="menu">
       <div class="menu-list">
          <a data-scroll="" href="#" class="">
             <span>Home</span>
          </a>
       </div>
    </nav>
感谢您的帮助或解释。

这就是我现在所在的地方

class Walker_Nav_primary extends Walker_Nav_Menu
{

    function start_lvl( &$output)
    {   // ul
        $indent = str_repeat( &output, $depth );

    }

    function start_el(argument)
    {   // anything inside ul - opening tags
        # code...
    }

    function end_el(argument)
    {   // anything inside ul - closing tags
    # code...
    }

    function end_lvl(argument)
    {   // close ul
    # code...
    }

}

1 个回复
最合适的回答,由SO网友:Steven 整理而成

我刚刚在这里发布了一个答案:How to create this custom menu walker?

基本上,你想要start_elend_el 看起来像这样:

function start_el(&$output, $item, $depth=0, $args=array()) {
   $output .= \'<a href="#"><span>\' . esc_attr($item->label);
}

function end_el(&$output, $item, $depth=0, $args=array()) {
    $output .= \'</span></a>\';
}

相关推荐

WordPress中声明SplitMenuWalker::Walk($Elements,$max_Depth)时出现警告

我开始在WordPress网站上收到以下错误:警告:SplitMenuWalker::walk($elements,$max\\u depth)的声明应与/home/relati67/public\\u html/wp content/themes/mentis/inc/mega menu/split menu中的walk::walk($elements,$max\\u depth,$args)兼容。php第0行我不知道在这里该怎么办。我发现了一个具有类似内容的线程,但错误指向特定行(不是第0行),并且不