当我们安装主题和插件时,都会向…
您是否要创建可移动的响应式WordPress菜单?在许多网站上,移动用户已经超过了台式机用户。添加移动响应菜单使用户更容易浏览您的网站。在本文中,我们将向您展示如何轻松创建可用于移动设备的响应式WordPress菜单。
这是一个深入的教程。我们将为初学者展示插件方法(无编码),并为更高级的用户展示编码方法。
在本教程结束时,您将学习如何创建幻灯片式移动菜单,下拉式移动菜单和切换式移动菜单。

准备?让我们开始吧。
方法1:使用插件在WordPress中添加响应菜单
这种方法比较简单,建议初学者使用,因为它不需要自定义编码。
通过这种方法,我们将创建一个在移动屏幕上滑出的汉堡菜单。
您需要做的第一件事是安装并激活响应菜单插件。有关更多详细信息,请参阅有关如何安装WordPress插件的分步指南。
激活后,插件将在您的WordPress管理栏中添加一个名为“响应菜单”的新菜单项。单击它会将您带到插件的设置页面。
首先,您需要输入屏幕的宽度,此时插件将开始显示响应菜单。默认值为800px,适用于大多数网站。
之后,您需要选择要用于响应式菜单的菜单。如果尚未创建菜单,则可以通过访问外观»菜单来创建菜单。有关详细说明,请参见有关如何在WordPress中添加导航菜单的指南。
屏幕上的最后一个选项是为当前的非响应菜单提供CSS类。这将允许插件在较小的屏幕上隐藏您的无响应菜单。
不要忘记单击“更新选项”按钮来存储您的设置。
现在,您可以访问您的网站并调整浏览器屏幕的大小,以查看响应式菜单的作用。
响应菜单插件带有许多其他选项,可让您更改响应菜单的行为和外观。您可以在插件的设置页面上浏览这些选项,并根据需要进行调整。
方法2:使用插件添加下拉选择菜单
添加响应菜单的另一种方法是添加下拉选择菜单。此方法不需要任何编码技能,因此建议初学者使用。
您需要做的第一件事是安装并激活“ 响应式选择菜单”插件。有关更多详细信息,请参阅有关如何安装WordPress插件的分步指南。
激活后,您需要访问外观»响应选择来配置插件设置。
您需要向下滚动到“激活主题位置”部分。默认情况下,该插件在所有主题位置均处于激活状态。您可以通过有选择地为特定主题位置打开它来更改它。
不要忘记单击“保存所有设置”按钮来存储您的更改。
现在,您可以访问您的网站并调整浏览器屏幕的大小,以查看正在响应的选择菜单。
方法3:创建具有切换效果的移动友好响应菜单
在移动屏幕上显示菜单的最常用方法之一是使用切换效果。
此方法要求您向WordPress文件添加自定义代码。如果您以前从未这样做过,请查看我们的有关在WordPress中从网络粘贴代码片段的指南。
首先,您需要打开一个文本编辑器(如记事本)并粘贴此代码。
( function() { var nav = document.getElementById( 'site-navigation' ), button, menu; if ( ! nav ) { return; } button = nav.getElementsByTagName( 'button' )[0]; menu = nav.getElementsByTagName( 'ul' )[0]; if ( ! button ) { return; } // Hide button if menu is missing or empty. if ( ! menu || ! menu.childNodes.length ) { button.style.display = 'none'; return; } button.onclick = function() { if ( -1 === menu.className.indexOf( 'nav-menu' ) ) { menu.className = 'nav-menu'; } if ( -1 !== button.className.indexOf( 'toggled-on' ) ) { button.className = button.className.replace( ' toggled-on', '' ); menu.className = menu.className.replace( ' toggled-on', '' ); } else { button.className += ' toggled-on'; menu.className += ' toggled-on'; } };} )(jQuery); |
现在,您需要将此文件另存为navigation.js在桌面上。
接下来,您需要打开FTP客户端以将此文件上传到/wp-content/themes/your-theme-dir/js/WordPress网站上的文件夹。
将您的主题目录替换为当前主题的目录。如果您的主题目录没有js文件夹,则需要创建它。
上传JavaScript文件后,下一步是确保您的WordPress网站加载了此JavaScript。您将需要在主题的functions.php文件中添加以下代码。
wp_enqueue_script( 'wpb_togglemenu', get_template_directory_uri() . '/js/navigation.js', array('jquery'), '20160909', true ); |
现在,我们需要将导航菜单添加到我们的WordPress主题中。通常,导航菜单会添加到主题header.php文件中。
<nav id="site-navigation" class="main-navigation" role="navigation"> <button class="menu-toggle">Menu</button> <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?></nav> |
我们假设您的主题定义的主题位置称为主要位置。如果不是,请使用WordPress主题定义的主题位置。
最后一步是添加CSS,以便我们的菜单使用正确的CSS类进行切换,以便在移动设备上查看时起作用。
/* Navigation Menu */.main-navigation { margin-top: 24px; margin-top: 1.714285714rem; text-align: center;}.main-navigation li { margin-top: 24px; margin-top: 1.714285714rem; font-size: 12px; font-size: 0.857142857rem; line-height: 1.42857143;}.main-navigation a { color: #5e5e5e;}.main-navigation a:hover,.main-navigation a:focus { color: #21759b;}.main-navigation ul.nav-menu,.main-navigation div.nav-menu > ul { display: none;}.main-navigation ul.nav-menu.toggled-on,.menu-toggle { display: inline-block;}// CSS to use on mobile devices@media screen and (min-width: 600px) {.main-navigation ul.nav-menu, .main-navigation div.nav-menu > ul { border-bottom: 1px solid #ededed; border-top: 1px solid #ededed; display: inline-block !important; text-align: left; width: 100%; } .main-navigation ul { margin: 0; text-indent: 0; } .main-navigation li a, .main-navigation li { display: inline-block; text-decoration: none; } .main-navigation li a { border-bottom: 0; color: #6a6a6a; line-height: 3.692307692; text-transform: uppercase; white-space: nowrap; } .main-navigation li a:hover, .main-navigation li a:focus { color: #000; } .main-navigation li { margin: 0 40px 0 0; margin: 0 2.857142857rem 0 0; position: relative; } .main-navigation li ul { margin: 0; padding: 0; position: absolute; top: 100%; z-index: 1; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); } .main-navigation li ul ul { top: 0; left: 100%; } .main-navigation ul li:hover > ul, .main-navigation ul li:focus > ul, .main-navigation .focus > ul { border-left: 0; clip: inherit; overflow: inherit; height: inherit; width: inherit; } .main-navigation li ul li a { background: #efefef; border-bottom: 1px solid #ededed; display: block; font-size: 11px; font-size: 0.785714286rem; line-height: 2.181818182; padding: 8px 10px; padding: 0.571428571rem 0.714285714rem; width: 180px; width: 12.85714286rem; white-space: normal; } .main-navigation li ul li a:hover, .main-navigation li ul li a:focus { background: #e3e3e3; color: #444; } .main-navigation .current-menu-item > a, .main-navigation .current-menu-ancestor > a, .main-navigation .current_page_item > a, .main-navigation .current_page_ancestor > a { color: #636363; font-weight: bold; } .menu-toggle { display: none; } } |
现在,您可以访问您的网站并调整浏览器屏幕的大小,以查看正在使用的响应式切换菜单。
故障排除:根据您的WordPress主题,您可能需要调整CSS。使用检查元素工具来找出与主题冲突的CSS。
方法4:在WordPress中添加一个滑入式移动菜单
添加移动菜单的另一种常用技术是使用滑入式面板菜单(如方法1所示)。
方法4要求您将代码添加到WordPress主题文件中,但这只是实现方法1相同结果的另一种方式。
首先,您需要打开一个纯文本编辑器(如记事本),并将以下代码添加到空白文本文件中。
(function($) {$('#toggle').toggle( function() { $('#popout').animate({ left: 0 }, 'slow', function() { $('#toggle').html('<img src="http://www.example.com/wp-content/themes/your-theme/images/menu.png" alt="close" />'); }); }, function() { $('#popout').animate({ left: -250 }, 'slow', function() { $('#toggle').html('<img src="http://www.example.com/wp-content/themes/your-theme/images/menu.png" alt="close" />'); }); });})(jQuery); |
不要忘记用您自己的域名和your-theme实际主题目录替换example.com 。将此文件另存为slidepanel.js您的桌面。
现在,您将需要一个用作菜单图标的图像。最常使用汉堡图标作为菜单图标。您会从不同的网站上找到大量此类图像。我们将使用Google Material Icons库中的菜单图标。
找到要使用的图像后,将其另存为menu.png。
接下来,您需要打开FTP客户端客户端并将slidepanel.js文件上传到/wp-content/your-theme/js/文件夹。
如果您的主题目录没有JS文件夹,那么您需要创建tit,然后上传文件。
之后,您需要将menu.png文件上传到/wp-content/themes/your-theme/images/文件夹。
文件上传后,我们需要确保您的主题加载了刚添加的JavaScript文件。我们将通过排队JavaScript文件来实现此目的。
将此代码添加到主题的 functions.php文件中。
wp_enqueue_script( 'wpb_slidepanel', get_template_directory_uri() . '/js/slidepanel.js', array('jquery'), '20160909', true ); |
现在,我们需要在主题的header.php文件中添加实际代码,以显示导航菜单。您应该查找类似于以下代码:
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?> |
您想用HTML代码包装现有的导航菜单,以在较小的屏幕上显示幻灯片面板菜单。
<div id="toggle"><img src="http://www.example.com/wp-content/themes/your-theme/images/menu.png" alt="Show" /></div><div id="popout"><?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?></div> |
请注意,主题的导航菜单仍然存在。我们只是将其包装在触发触发面板菜单的HTML周围。
最后一步是添加CSS以在较大的屏幕上隐藏菜单图像图标。您还需要调整菜单图标的位置。
这是一个示例CSS,您可以将其用作起点:
@media screen and (min-width: 769px) { #toggle {display:none;}} @media screen and (max-width: 768px) { #popout {position: fixed;height: 100%;width: 250px;background: rgb(25, 25, 25);background: rgba(25, 25, 25, .9);color: white;top: 0px;left: -250px;overflow:auto;}
|
根据您的WordPress主题,您可能需要调整CSS以避免冲突。

微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!
需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!