如何在Twenty12子主题中获得与桌面菜单不同的移动菜单

时间:2015-04-26 作者:patrick

我想为我的移动网站使用不同于桌面网站的菜单。我指的是内容,而不是布局。我只想使用“二十一二”主题的移动菜单。

到目前为止我所做的:

在我的孩子的功能。php我添加了以下代码:

     register_nav_menus( array(
     \'primary\' => __( \'Primary Navigation\', \'twentytwelve\' ),
     \'mobile\' => __( \'Mobile Navigation\', \'mobile\'),
     ) );
现在,我可以在仪表板中创建两个菜单。(仪表板>菜单>位置)

在标题中。php我不知道到底要更改什么,所以加载的是我的移动菜单,而不是主菜单。

    <nav id="site-navigation" class="main-navigation" role="navigation">
        <button class="menu-toggle"><?php _e( \'Menu\', \'twentytwelve\' ); ?></button>
        <a class="assistive-text" href="#content" title="<?php esc_attr_e( \'Skip to content\', \'twentytwelve\' ); ?>"><?php _e( \'Skip to content\', \'twentytwelve\' ); ?></a>
        <?php wp_nav_menu( array( \'theme_location\' => \'primary\', \'menu_class\' => \'nav-menu\' ) ); ?>
    </nav><!-- #site-navigation -->
我试图改变<?php _e( \'Menu\', \'twentytwelve\' ); ?><?php _e( \'Menu\', \'mobile\' ); ?>, 但这并没有将菜单内容更改为我的移动菜单。

我对这段代码不太熟悉,所以希望有人能给我指出正确的方向。

谢谢你的帮助!

4 个回复
SO网友:Nikolai

正如类似职位所建议的:https://wordpress.stackexchange.com/a/156494/74343

1.)创建menus 你想要什么就给他们取什么,你喜欢什么就给他们取什么,举个例子“mobile-menu“和”desktop-menu“。

2)在您的child theme 在标题中。php您可以根据wp\\u is\\u mobile()标志进行切换,如下所示:

if ( wp_is_mobile() ) {
     wp_nav_menu( array( \'menu\' => \'mobile-menu\' ) );
} else {
     wp_nav_menu( array( \'menu\' => \'desktop-menu\' ) );
}
However 我使用了“WP Responsive Menu”插件,它允许我为手机选择一个菜单。在“WP Responsive Menu”(WP响应菜单)的配置中,需要选择不在移动设备上显示的元素,如果是212主题,则为:“#site navigation”(站点导航)。

快乐的编码!

SO网友:Jordan

如果有人还在看这条线,我已经挣扎了一段时间,这些都不起作用。。。我可以用CSS来做!

基本上,在手机和桌面上创建一个包含所有所需项目的巨型菜单。然后,在各自的菜单项上添加类:“hide mobile”和“hide desktop”。

使用此CSS:

@media (min-width: 980px){

    .hide-desktop{
    display: none !important;
    }

}

    @media (max-width: 980px){
    .hide-mobile{
    display: none !important;
    }

}

SO网友:Jeroen Onstenk

除了Jordan的评论之外,了解如何在Wordpress中向菜单项添加类也很重要:

要将CSS类添加到WordPress菜单,请首先转到WordPress主题中的外观>菜单。接下来,找到屏幕右上角的屏幕选项选项卡。单击打开面板,并选中标有CSS类的框。选择要编辑的菜单,然后单击要向其中添加CSS类的链接。

SO网友:BrianHenryIE

另一种不涉及覆盖主题文件/模板的方法:

在儿童主题的functions.php 添加:

/**
 * Register the \'mobile\' menu location with WordPress so it can be configured in the admin UI.
 */
register_nav_menus( array(
    \'mobile\' => \'Mobile Replace Primary\',
) );

/**
 * When building menus, if the menu location \'primary\' is being used, and we\'re on mobile,
 * swap it out for the menu location \'mobile\'.
 * 
 * @see wp_nav_menu()
 */
add_filter( \'wp_nav_menu_args\', function( $args ) {

    if( \'primary\' === $args[\'theme_location\'] && wp_is_mobile() ) {
        $args[\'theme_location\'] = \'mobile\';
    }

    return $args;
} );
然后在中配置移动菜单wp-admin / Appearance / Menus.

结束

相关推荐

Appearance > Menus

我已经添加了自定义WordPress管理菜单和页面,但是,我希望它出现在“外观>菜单”部分,以便用户可以将其添加到其网站的菜单结构中。请让我知道如何做到这一点。以下是我在管理页面上添加的自定义菜单示例:现在,我想在管理部分的外观>菜单中添加这些自定义页面:如果有人能帮忙,我将不胜感激。幸亏damienoneill2001, 我可以在外观>菜单中添加分类项,但是,如何在示例中的Generes/Writer中添加内容?这就是我添加自定义管理菜单的方式,我希望它们中的每一个(产品、促销、产品类