从Wordpress菜单中在菜单中构建子菜单

时间:2013-10-18 11:24:53

标签: php wordpress wordpress-theming

顶部菜单中的

子菜单,并排显示。

我想进入底部的子ul子菜单。见图:enter image description here
我在“来自患者”菜单中将菜单结构设置为第二个“它们是什么”子菜单。

如何在这个wp主题中添加子菜单?在wp我创建了父页面和子页面,然后我更新了菜单外观,但主题将按钮并排放置。

我找到了这个解决方案:https://gist.github.com/hitautodestruct/4345363但我无法整合。

提前致谢

这里是最后编码的函数.php:

function newtemplate_get_menus_nav($menus){
    global $newtemplate_options;
    $submenu = array();
    $select = '<div class="menu-select"><div class="menu-select-top"><div class="menu-select-title"><span class="ms-title">'.newtemplate_get_options_key('mobile-menu-title').'</span><span class="ms-arrow menu-arrow"></span></div></div><ul>';
    $output = '';
    $output .= '<div id="navBg" data-align="'.$newtemplate_options['menu-align'].'" data-left="'.$newtemplate_options['menu-padding-left'].'"><nav id="nav"><ul>';
    if(count($menus) > 0){

        foreach($menus as $menu){
        //$id = get_post_meta( $menu->ID, '_menu_item_object_id', true );
            if($menu['type'] == 'custom'){

                if(strtolower($menu['post_name']) == 'home'){
                    //Default Home Page
                    if(get_option('show_on_front') == 'posts' || intval(get_option('page_on_front')) == 0){
                        $select .='<li data-value="#'.str_replace(' ','_',strtolower($menu['title'])).'">'.$menu['title'].'</li>';
                        $output .= '<a href="#'.str_replace(' ','_',strtolower($menu['title'])).'">'.$menu['title'].'</a>';
                    }else{
                        $post_obj = get_post(get_option('page_on_front'));
                        $output .= '<a href="#'.str_replace(' ','_',strtolower($post_obj->post_title)).'">'.$menu['title'].'</a>';
                        $select .='<li data-value="#'.str_replace(' ','_',strtolower($post_obj->post_title)).'">'.$menu['title'].'</li>';
                    }
                }else{
                    $output .= '<a href="'.$menu['url'].'" target="_blank">'.$menu['title'].'</a>';
                    $select .='<li data-value="'.$menu['url'].'">'.$menu['title'].'</li>';
                }
            }else{
            if($menu['menu_item_parent']==0){               
                $output .= '<li><a href="#'.str_replace(' ','_',strtolower($menu['title'])).'" data-id="'.$menu['object_id'].'">'.$menu['title'].'</a></li>';
                $select .='<li data-value="#'.str_replace(' ','_',strtolower($menu['title'])).'">'.$menu['title'].'</li>';
                }
                print_r($menu['post_name']);
                print_r("-------");
                print_r($menu->object_id);
                print_r(".........");
                if($menu['post_name'] == $menu->menu_item_parent){


                $output .= '<ul class="sub-menu"><li><a href="#'.str_replace(' ','_',strtolower($menu['title'])).'" data-id="'.$menu['object_id'].'">'.$menu['title'].'</a></li></ul>';
                $select .='<li data-value="#'.str_replace(' ','_',strtolower($menu['title'])).'">'.$menu['title'].'</li>';
                }
                //getMenuChilds($menus,$menu['object_id']);

                //$menu = wp_get_nav_menu_items('Menu');
                //print_r($menu['object_id']);
            }
        }

    } else {
        $output .= __('Please open admin backend\'s <strong><em>Appearance -&gt; Menus</em></strong> and your menu with your pages for Primary menu (<em>Theme Locations</em>).','newtemplate');
    }
    $select .='</ul></div>';
    $output .= '</nav></div>'.$select;
    //print_r($output);
    return $output;                                          
 }

1 个答案:

答案 0 :(得分:0)

您可以通过滑动来添加wp-admin Appearence-&gt;菜单中的子菜单。 你可以使用CSS来做到这一点。 这是我发现的例子: http://acroweb.co.uk/adding-css-drop-down-menus-to-wordpress-3-0-theme/