0

我需要在<li></li>WordPress 菜单中添加两个跨度。一个包含元素页面标题,一个包含描述。我发现了如何将一个跨度添加到 li 中,但不知道如何创建两个。有什么帮助吗?

基本标记:

    <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 ); 

?>
4

1 回答 1

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

这可能是最好的起点!

于 2013-05-30T11:07:14.707 回答