将两个带有类的跨度添加到WP Menu的li中

时间:2013-05-30 10:13:39

标签: php wordpress navigation

我需要在WordPress菜单的<li></li>中添加两个跨度。一个包含元素页面标题,一个包含描述。 我已经找到了如何在li中添加一个span,而不是如何创建两个。 有什么帮助吗?

基本加价:

    <ul class="dropdown-menu pull-left">
        <li>
            <a href="">
                <span class="dropdown-menu-pagetitle">Test Title</span>
                <span class="dropdown-menu-pagedescr">Lorem ipsum dolor sit amet, consecteteur adipiscing</span>
            </a>
        </li>
[.......]

编辑:

    class My_Walker_Nav_Menu extends Walker_Nav_Menu
{
    function start_lvl(&$output, $depth)
    {
        $indent = str_repeat("\t", $depth);
        $output .= "\n$indent<ul class=\"dropdown-menu pull-left\">\n";
    }

    function end_el(&$output, $item, $depth = 0, $args = array())
    {
        $output .= $item->label . '<span class="dropdown-menu-pagedescr">' . $item->description . '</span>';
    } 
}

我当前的导航:

        <?php 

$menu_args = array(
    'container'       => false, 
    'menu_class'      => 'nav nav-pills pull-right', 
    'menu_id'         => 'Navigation',
    'link_before'     => '<span class="dropdown-menu-pagetitle">',
    'link_after'      => '</span>',
    'walker' => new My_Walker_Nav_Menu()
    );

wp_nav_menu($menu_args ); 

?>

1 个答案:

答案 0 :(得分:1)

您需要使用自定义Walker来实现此目的。这基本上是Wordpress使用的类,作为如何构建菜单的说明。

有很多关于如何创建步行者的文档,但我发现练习是学习如何使用它们的最佳方式。

我建议您使用start_el()功能,以便在任何子菜单项之前添加说明。以下文章可以帮助您入门:

<强>更新

有人在Wordpress Stack Exchange网站上提出了一个非常类似的问题:

https://wordpress.stackexchange.com/questions/14037/menu-items-description-custom-walker-for-wp-nav-menu/14039#14039

这可能是最好的开始!