Tag: 响应式导航优化

  • 如何为WordPress网站创建和优化移动菜单

    如何为WordPress网站创建和优化移动菜单

    在搭建好WordPress 网站后,因为不管是博客网站还是商店网站;大部分的用户都是来自移动端。所以WordPress 网站上添加移动手机菜单就很重要了。

    图片[1]-361Sale WordPress Care

    为什么您的网站菜单应该被放弃?

    在构建WordPress网站时,移动友好、响应迅速的主题至关重要,因为近50%的访问者会在移动设备上查看网站。对于菜单的显示方式,特别是在移动设备上,可能需要进行调整。例如,在桌面设备上采用列表形式的主导航菜单可以在移动设备上显示为汉堡菜单。为此,您的主题要可以让您创建不同的移动菜单。

    图片[2]-361Sale WordPress Care

    如何在WordPress网站上创建移动菜单

    步骤1:注册移动菜单

    如果您的WordPress主题尚未提供移动菜单,您可以使用以下代码注册一个。将代码添加到子主题或自定义插件的 functions.php 文件中。

    // register a mobile menu
    function wdm_register_mobile_menu() {
        add_theme_support( 'nav-menus' );
        register_nav_menus( array('mobile-menu' => __( 'Mobile Menu', 'wdm' )) );
    }
    add_action( 'init', 'wdm_register_mobile_menu' );

    添加此代码后,您会注意到菜单设置中有一个“移动菜单”选项。

    图片[3]-361Sale WordPress Care

    步骤2:切换菜单显示

    为了根据屏幕尺寸切换菜单显示,您需要使用一些 jQuery。将以下代码添加到每个页面上加载的 JS 文件中。例如,可以将代码添加到 mobile-menu-toggle.js 并在 functions.php 中加载:

    // load the JS file
    function wdm_mm_toggle_scripts() {
        wp_enqueue_script( 'wdm-mm-toggle', get_stylesheet_directory_uri() . '/js/mobile-menu-toggle.js', array('jquery') );
    }
    add_action( 'wp_enqueue_scripts', 'wdm_mm_toggle_scripts' );

    然后,在 mobile-menu-toggle.js 中添加以下代码:

    // hide or display the mobile menu
    function toggle() {
        if ( jQuery( window ).width() >= 800 ) {
            jQuery( '.nav.mobile-menu' ).hide();
            jQuery( '.nav.desktop-menu' ).show();
        } else {
            jQuery( '.nav.desktop-menu' ).hide();
            jQuery( '.nav.mobile-menu' ).show();
        }
    }
    
    // on page load set the menu display initially
    toggle();
    
    // toggle the menu display on browser resize
    jQuery( window ).resize( function () {
        toggle();
    } );

    步骤3:确保显示移动菜单

    在当前主题的 header.php 文件中,添加以下代码,以确保移动菜单在菜单设置中被设置后显示:

    /* 以下代码检查菜单设置中是否从后端设置了移动菜单。如果已设置菜单,它将显示在标题中。否则,如果未设置菜单,则显示一条消息。*/ 
    if ( function_exists ( 'has_nav_menu' ) && has_nav_menu( 'mobile-menu' ) ) { 
        wp_nav_menu( array (
           'depth'  =>  6 ,
           'sort_column'  =>  'menu_order' ,
           'container'  =>  'ul' ,
           'menu_id'  =>  'main-nav' ,
           'menu_class'  =>  'nav mobile-menu' ,
           'theme_location'  =>  'mobile-menu' 
        ) ); 
    } else {
        echo  "<ul class='nav mobile-menu'> <font style='color:red'>未设置移动菜单</font> </ul>" ; 
    }

    确保将“桌面菜单”作为附加类添加到主菜单,以用于切换菜单的显示。

    步骤4:创建并设置移动菜单

    最后,创建一个新菜单并将其设置为移动菜单。在您的WordPress管理面板中:

    1.创建一个新菜单。

    图片[4]-361Sale WordPress Care

    创建新菜单

    2.添加菜单项并将其设置为移动菜单。

    3.保存所做的更改。

    图片[5]-361Sale WordPress Care

    添加移动菜单

    CSS 支持

    将以下 CSS 添加到子主题的 style.css 中,以支持菜单显示切换:

    .mobile-menu{
        display: none;
    }
    @media only screen and (min-width: 800px){
        .desktop-menu{
            display: block !important;
        }
        .mobile-menu{
            display: none !important;
        }
    }
    
    @media only screen and (max-width: 799px){
        .desktop-menu{
            display: none !important;
        }
        .mobile-menu{
            display: block !important;
        }
    }

    结论

    通过以上步骤,您可以为WordPress主题添加一个移动菜单,使您的网站在不同设备上都能有良好的用户体验。如果您不想自己编写代码,可以寻求WordPress专家的帮助,他们可以确保您的网站经过优化,在移动设备和桌面上都能快速加载。