在菜单项下将某些菜单子项显示为下拉菜单

时间:2019-10-02 作者:Gissipi_453

我制作了一个自定义wordpress菜单-

function my_custom_menu_item($items, $args)
{
    if(is_user_logged_in() && $args->theme_location == \'primary\')
    {
        $user=wp_get_current_user();
        $name=$user->display_name; 
        $items .= \'<li><a href="">\'.$name.\'</a></li>\';

        $items .= \'<li><a href="/my-profile">My Profile</a></li>\';
        $items .= \'<li><a href="/my-posts">My Posts</a></li>\';
    }
    return $items;
}
add_filter( \'wp_nav_menu_items\', \'my_custom_menu_item\', 10, 2);
它在平面结构中并排显示“登录用户的名称”、“我的个人资料”、“我的帖子”。

我希望“我的个人资料”和“我的帖子”显示为“登录用户名称”下的下拉列表。我该怎么做?

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

删除第一次关闭</li> 并将子项包装在内<ul></ul>, 然后关闭父级<li>.

例如:

function my_custom_menu_item($items, $args)
{
    if(is_user_logged_in() && $args->theme_location == \'primary\')
    {
        $user=wp_get_current_user();
        $name=$user->display_name; 
        $items .= \'<li><a href="">\'.$name.\'</a>\';
        $items .= \'<ul>\';
        $items .= \'<li><a href="/my-profile">My Profile</a></li>\';
        $items .= \'<li><a href="/my-posts">My Posts</a></li>\';
        $items .= \'<ul>\';
        $items .= \'</li>\';
    }
    return $items;
}
add_filter( \'wp_nav_menu_items\', \'my_custom_menu_item\', 10, 2);

相关推荐

Problem in functions.php file

我正在尝试使用functions.php. 以下是我迄今为止所做的工作: <?php function blogroom() { wp_enqueue_style(\'bootstrap\', get_stylesheet_directory_uri() . \'/assets/lib/bootstrap/dist/css/bootstrap.min.css\'); wp_enqueue_style(\'loade