在 WordPress 网站中轻松添加移动菜单的四个步骤

在搭建 WordPress 网站的过程中,您可能接触过上述的一些术语。考虑到将近50%的用户会使用移动设备访问网站,确保主题具有良好的移动适配性和响应速度显得尤为重要。

那么,为什么网站菜单需要进行优化呢?

菜单的展示方式是实现菜单响应式设计的关键组成部分。例如,如果您的主导航在桌面设备上以列表形式展现,那么在移动设备上它可以被设计成汉堡菜单的样式。

我们提供了一篇文章,详细解释了如何在主题中添加推送导航菜单。

然而,为了让菜单更适合移动设备,您可能需要对菜单中显示的内容进行调整。

以WisdmLabs的网站为例!如果您在移动设备上浏览该网站,您会发现主菜单的形式并不是超级菜单。但在桌面设备上,则能够见到完整的超级菜单。

要在移动端显示不同的菜单,您的主题需要允许您创建一个专门的移动菜单

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

要添加专为移动设备设计的菜单,请按照以下步骤操作:

  1. 注册移动菜单
  2. 根据屏幕宽度切换显示
  3. 确保移动菜单正确显示
  4. 创建并设置移动菜单

这只需要一些 jQuery 知识和基本的 PHP 编程,便能实现无限的可能性。

需要更改的文件如下:

#1 注册移动菜单

如果您的 WordPress 主题还没有提供移动菜单的选项,您可以用以下代码进行注册。请将这段代码添加到子主题或自定义插件的 functions.php 文件中。

// 注册移动菜单
function wdm_register_mobile_menu() {
    add_theme_support( 'nav-menus' );
    register_nav_menus( array('mobile-menu' => __( '移动菜单', 'wdm' )) );
}
add_action( 'init', 'wdm_register_mobile_menu' );

添加这段代码后,您将会在菜单设置中看到一个“移动菜单”的选项。

#2 切换菜单显示

现在,移动菜单需要在移动设备上显示。因此,我们需要根据屏幕宽度来切换其显示方式。为此,我们将使用一些 jQuery 代码。

确保将以下代码添加到每个页面加载的 JS 文件中。如果您不确定如何操作,可以将它添加到“mobile-menu-toggle.js”中,并在 functions.php 中加载此文件:

// 加载 JS 文件
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”中加入以下 JS 代码。

// 隐藏或显示移动菜单

/* 假设我们要在 800 像素的屏幕宽度下切换菜单显示,以下是实现代码 */
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();
    }
}

// 页面加载时首次设置菜单的显示
toggle();

// 在浏览器调整大小时切换菜单的显示
jQuery( window ).resize( function () {
    toggle();
} );

#3 确保移动菜单显示正确

最后一步是确保菜单能够无缝显示。这段代码需要被添加到当前主题的 header.php 文件中。在调用“main-menu”后,将其添加在“wp_nav_menu”函数下方。

  
/* 这段代码检查是否在菜单设置中配置了移动菜单。如果已设置,它将显示在页面头部;否则,会显示一条消息。*/   
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 '<div style="color: red; font-weight: bold;">未设置移动菜单</div>';  
}  

请确保在主菜单中添加“desktop-menu”作为附加类,以支持菜单的显示切换。

当然,这也需要一些 CSS 来配合。在子主题的 style.css 文件中添加以下 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;
    }
}

#4 创建并设置移动菜单

一旦我们完成移动菜单的注册及显示切换,就需要创建一个实际的菜单并将其设置为移动菜单。

为此,请在您的 WordPress 管理面板中创建一个新菜单。

接着,添加所需的菜单项,并确保将其设置为移动菜单。记得保存这些更改。

结论

到此为止!您已经成功为 WordPress 主题添加了一个移动菜单!这并不复杂,对吧?您还可以根据不同的屏幕尺寸创建不同的菜单,甚至添加页脚菜单。

如果您希望在不编写代码的情况下为您的 WordPress 网站添加移动菜单,请考虑让我们的 WordPress 专家为您简化这个过程。他们使用高效的代码,并确保您的网站在移动设备和桌面上都能实现快速加载!

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部