More than half of all website traffic comes from mobile devices. If your navigation menu doesn’t work well on smartphones and tablets, then a big chunk of your audience may struggle to find their way around your site.
With years of experience building WordPress sites, we understand the importance of making your site mobile responsive. At WPBeginner, we have always prioritized this, ensuring our sites are easy to navigate on any device.
In fact, we’ve designed a mobile-responsive menu that fits perfectly on smaller screens without feeling cluttered, improving the user experience on smartphones and tablets.
In this guide, we will show you how to easily create a mobile-ready responsive WordPress menu.
Why Create a Mobile-Ready Responsive WordPress Menu?
A well-designed navigation menu will help visitors find their way around your website. However, just because your menu looks great on desktop computers, doesn’t automatically mean it will look good on mobile screens and tablets too.
Mobile users make up around 58% of all internet traffic. That said, if your menu doesn’t look good or work correctly on mobile devices, then you risk losing half your audience due to poor user experience.
This will make it difficult to achieve key goals such as growing your email list, getting sales, and growing your business.
That being said, let’s see how you can create a mobile-ready responsive menu that will look great on smartphones and tablets. Simply use the quick links below to jump straight to the method you want to use.
Method 1: Create a Mobile-Ready Responsive Slide Panel Menu
A responsive slide panel is a navigation menu that slides onscreen when a visitor taps or clicks on a toggle.
In this way, the menu is always within easy reach but doesn’t take up any onscreen space by default.
This is particularly important since smartphones and tablets have much smaller screens compared to desktop computers.
If the menu is constantly expanded, then a mobile user may trigger its links by accident using their device’s touchscreen. This makes slide panels a good choice for a mobile-responsive menu.
The easiest way to add a mobile-ready slide panel is by using Responsive Menu.
Note: There is a premium version of the Responsive Menu with extra themes and additional features such as conditional logic. However, in this guide, we will use the free plugin since it has everything you need to create a mobile-ready menu.
First, you need to install and activate the Responsive Menu plugin. For more details, see our tutorial on how to install a WordPress plugin.
Upon activation, you can use the plugin to customize any WordPress menu you’ve previously created. If you need to create a new menu, then please see our beginner’s guide on how to add a navigation menu in WordPress.
On the other hand, if your WordPress theme already has a built-in mobile menu, then you will need to know that menu’s CSS class so you can hide it.
If you skip this step, then mobile users will see two overlapping menus on your website. For step-by-step instructions, please see our guide on how to hide a mobile menu in WordPress.
With that done, go to the Responsive Menu » Menus page on the WordPress admin sidebar and click on the ‘Create New Menu’ button.
You will now see a few different mobile responsive themes that you can use for your menu.
We are using the ‘Default Theme’ in our images, but you can use any theme you want. After making your decision, click on ‘Next.’
You can now type in a name for the menu. This is just for your reference so you can use anything you want.
With that done, click on ‘Link WordPress Menu’ and choose the menu that you want to use.
As already mentioned, if your theme already has a built-in mobile menu, then you’ll need to add its CSS class to the ‘Hide Theme Menu’ field.
If you upgrade to the premium plugin, then you will get a few additional settings. For example, Pro users can hide the menu on particular pages or devices.
When you are happy with how the menu is set up, click on ‘Create Menu.’
You’ll now see a preview of your WordPress website on the right of the screen and some settings on the left.
To see how your site looks on mobile, click on either the mobile or tablet icon at the bottom left of the screen.
To customize how the menu looks and acts on mobile devices, select ‘Mobile Menu.’
Then, click on ‘Container.’
Here, you will find lots of different settings.
As you make changes, the live preview will often update automatically. With that in mind, it’s a good idea to expand the menu so you can monitor how your mobile menu will look. To do this, simply click on the menu toggle button.
By default, the plugin adds a title and some ‘Add more content…’ text.
You can replace this with your own messaging or even remove the text completely. To edit the title, click to expand the ‘Title’ section.
You can now type your own messaging into the ‘Title Text’ field.
You can also add a link to the title or add icon fonts and images.
To customize how the title looks, click on the ‘Styles’ tab.
Here, you can change the background color, the text color, the font size, and more.
If you don’t want to show any title text, then click to deactivate the toggle next to ‘Title.’
If the title isn’t essential, then removing it will create more space for the links and other content in your mobile navigation menu.
To replace the ‘Add more content here….’ text with your own messaging, click to expand the ‘Additional Content’ area.
You can now type in your own text, change the text color, change the text alignment, and more by using the settings in the left-hand menu.
To delete the text completely, simply click to deactivate the toggle.
Once again, this can create more room for the rest of the menu’s content. This is particularly useful on smartphones and tablets, which typically have smaller screens.
By default, Responsive Menu will show all your menu items as a single list. However, you may prefer to show these links in multiple columns.
This can work well if your menu labels are shorter, as it allows you to show more items in a smaller amount of space without the menu looking cluttered.
To try different column layouts, click to expand the ‘Menu’ section.
You can now open the ‘Menu container columns’ dropdown and choose the number of columns you want to use.
At this point, you may see some ‘Update Required’ text. If you see this message, then give it a click to update the live preview with your new column settings.
By default, the plugin also adds a search bar to your WordPress menu. This can help visitors find interesting content but also take up precious onscreen space.
If you prefer, then you can remove the search bar for mobile users by deactivating the toggle next to ‘Search.’
There are a lot of other settings that you can configure, so you may want to spend some time looking through the other options. However, this is enough to create a well-designed mobile-ready menu.
When you are happy with how the navigation menu is set up, click on ‘Update.’
Now, simply visit your WordPress blog using a mobile device to see the new menu in action. You can also view the mobile version of your WordPress site from your desktop.
Method 2: Create a Mobile-Ready Fullscreen Responsive Menu
Another option is to add a fullscreen responsive menu. This is a menu that automatically adjusts to different screen sizes, so the navigation menu will always look good no matter what device the visitor is using.
Since the menu takes up all the available space, it is easier to navigate on smartphones and tablets, no matter how small the screen.
The easiest way to create a fullscreen menu is by using FullScreen Menu. This plugin allows you to create a fullscreen menu for mobile devices only, or you can show the same menu across smartphones, tablets, and desktop computers, so all visitors have the same experience.
The first thing you need to do is install and activate the FullScreen Menu plugin. You can check our step-by-step guide on how to install a WordPress plugin for more details.
Upon activation, visit the Fullscreen Menu Options page from the WordPress menu and check the following box: ‘Activate Animated Fullscreen Menu.’
We also recommend checking the ‘Show the menu only for Admin users’ box. This allows you to see the changes as you’re configuring the menu, but visitors won’t see the mobile menu until you make it live.
By default, the plugin will show the fullscreen menu on all devices. If you want to show the fullscreen menu on smartphones and tablets only, then check the box next to ‘Mobile only.’
After that, you can fine-tune the menu’s appearance by clicking on the ‘Design / Appearance’ tab.
Here, you can choose the colors, font, and animation settings for the fullscreen menu.
When making these changes, just be aware that ‘Initial Background Menu’ is the menu’s toggle icon. Meanwhile, ‘Opened Background Menu’ is the color of the expanded, fullscreen mobile menu.
After choosing the menu colors, scroll to the ‘Menu Appearance’ section. Here you can change the menu’s font color, font family, and font size.
Just be aware that loading additional fonts could affect your WordPress site performance and speed. This isn’t always a good choice for mobile devices, which typically have less processing power compared to desktop computers. Some visitors may also have a poor mobile internet connection, which will make your site load even more slowly.
With that done, scroll to ‘Animation Settings.’.
To start, you can choose how the menu will expand when a visitor clicks the toggle icon. Simply open the ‘Animation Type’ dropdown menu and choose an option from the list, such as From Top to Bottom or From Left to Right.
When you’re happy with the menu’s layout, click on the ‘Menu Content’ tab to add content.
Here, go ahead and open the ‘Select Menu’ dropdown and choose the menu that you want to show fullscreen.
If you haven’t created a navigation menu yet, then check out our guide on how to add navigation menus in WordPress.
If you want to show additional content in the menu, then you can add it in the ‘Free HTML / Shortcodes’ box. This acts as a mini page editor so you can type in text, change the formatting, add bullet points and numbered lists, and more.
There is also a checkbox that will add a link to your privacy policy page.
Next, you might like to add social media icons to your WordPress menu. These icons will appear in a row at the bottom of the fullscreen menu.
To add these icons, simply click to expand the ‘Social Icon 1’ box.
You can now type in a title for the icon, such as ‘Facebook.’
After that, click on the arrow next to ‘Social Icon’ and choose the icon that you want to show to mobile visitors.
Finally, type the address you want to use into the ‘Social URL’ field.
To add more icons, simply click the ‘Add Another Icon’ button.
Finally, you may want to add a WordPress search bar to help visitors find what they are looking for. To do this, simply check the box next to ‘Add Search Bar.’
By default, the plugin will show a ‘Search something…’ message. However, you can replace this with your own custom messaging by typing into the ‘Search input placeholder’ field.
For example, if you run a WooCommerce store, then you may want to use text such as ‘Start shopping’ or ‘Search for products.’
When you’re satisfied with the menu’s configuration, click the ‘Save Changes’ button.
Now, simply visit your website using a mobile device to see the fullscreen menu in action.
You can also preview the mobile version of your website using the WordPress theme customizer.
Bonus: How to Add a Mobile-Responsive Menu to Landing Pages
If you are creating a landing page or sales page, then you will want the design to look just as good on mobile devices as it does on desktop.
With that in mind, we recommend creating the page using SeedProd. It is the best WordPress page builder and comes with more than 300+ professionally-designed templates.
After creating a design using SeedProd, you can add a mobile-responsive menu to the page using SeedProd’s ready-made Nav Menu block. This block allows you to create separate menus for both menu devices and desktops.
In this way, you can use a different layout and even show different links depending on the user’s device.
To learn more, please see our guide on how to add custom navigation menus in WordPress.
After adding the Nav block to your design, simply click on the ‘Advanced’ tab.
Here, click to expand the ‘Device Visibility’ section.
After that, click on the ‘Hide on Desktop’ toggle to activate it. Now, this menu will only appear on mobile devices.
You can now add links and change the menu’s layout using the settings in the left-hand menu.
We hope this article helped you learn how to create a mobile-ready responsive WordPress menu. You may also want to see our beginner’s guide on how to add a font resizer in WordPress and our expert tips on ways to create a mobile-friendly WordPress site.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Jiří Vaněk
I was very impressed with your sliding menu because it is clean and unobtrusive. However, I have to admit that hiding the original menu was quite complicated, as I had to find the CSS class using the inspector, as per your second guide. In the end, everything worked out, and I will most likely stick with the sliding menu because I am thrilled with it.
Syed Shan Shah
Can we do customization our self using css ?
WPBeginner Support
It would require more than just CSS and would not be beginner friendly which is why we recommend the methods in this article
Admin
Muhammad Hammad
Awesome guide. I was having a huge problem with the menu but it worked very well after I read this blogpost. Super detailed! Thank you wpbeginner team!
WPBeginner Support
Glad our guide was helpful
Admin
THANKGOD JONATHAN
Saved by this! My menu looked like a mess on phones. This guide helped me whip it into shape – now it’s sleek & user-friendly. Happy visitors, happy me!
WPBeginner Support
Glad our guide was able to help
Admin
Ahmed Omar
A fantastic guide on crafting a mobile-ready responsive WordPress menu!
Your step-by-step instructions, especially the emphasis on media queries and flexible layouts, make it easy to ensure a seamless mobile experience.
One technical tip: incorporating touch-friendly gestures can add a polished feel to the navigation.
Thanks for the insights – my site’s mobile menu is now looking sleek and user-friendly!
WPBeginner Support
Happy to hear!
Admin
Shawn
Does it support multi menu level?
WPBeginner Support
The plugin does allow a dropdown for multi-level menus
Admin
Maja
What is “20160909” in wp_enqueue_script?
WPBeginner Support
It is to set a version number to help the menu avoid possible caching issues
Admin
Ahsan
Hi there, i did number 4 method, it’s working but one issue on the mobile screen is that, when i refresh the page menu image appears and when i click on the menu image; side navbar open but the menu image gone.
after refreshing the page it again appears.
please help
WPBeginner Support
It sounds like the caching on your site could be causing you problems. If you clear the cache on your site that should help fix the problem.
Admin
Boris Béalu
I did your number 4 method and it worked great. Thank you. I do have a question, how could I have a background with opacity in all the rest of the site? Thank you.
Boris Béalu
I did your number 4 method and it worked great. Thank you. I do have 2 questions, how do I change the icon when the menu is open? Like the others menus in your article, an icon with a cross.
And how could I have a background with opacity in all the rest of the site? Thank you, Boris.
Amy
Is there a way to have one menu on desktop and another one for mobile in word press?
Annika
Hello!
I was looking at this tutorial on responsive mobile menu and see that the wordpress responsive hamburger menu is still left in the background behind the Responsive Menu plugin. How do I get rid of that one? I’m using ShiftNav and have the same issue.
I’m a wordpress beginner and have used many tutorials, and always seem to come back to your tutorials, so thank your for the simple explanations!
Bodo
I’m using method 3 and have carefully pasted the js and php quotes into my theme, but on clicking the menu button nothing happens. Please help
All the best,
Bodo
Jill
I’m using a child theme of Thematic. There’s no reference to the primary nav in the header.php file, so I created a new menu called “mobile-menu” and wrapped your code around that in the header.php file. Unfortunately, it’s not working. I see the hamburger icon but nothing happens when I tap it on my iPhone. Any ideas?
edwin
my searchdropdown wont work on mobile devices it closes inmediately pull my hair out:
anny idea;s?
Juan
this blog is amazing, thanks for the contribution.
Matthew Jacobson
I did your number 4 method and it worked great. Thank you. I do have a question, how do I change the mobile menu from a overlay menu, like the one in the example, to a push menu? In other words once I click the icon I want it to push my site to the right so I can see the site as well as the menu?
Thank you
L E Johns
The plugin you recommend requires PHP 5.4. How does one upgrade to whatever PHP 5.4 is? Thank you.
WPBeginner Support
You need to ask your WordPress hosting provider to upgrade your PHP version. If they don’t then you need to move to a better WordPress hosting provider.
Admin
Dave Ball
Re: Responsive Menu plugin — how do you find out the CSS class of your current non-responsive menu?
WPBeginner Support
Use the inspect element tool in your browser. Right click on your menu and then select Inspect from browser menu. You will see the HTML code and as you move your mouse to the HTML code you will see which area it affects in the preview window.
Admin
Fredda
Then what? I found the element but when I copy and paste it in the appropriate space the menu still shows.
WPBeginner Support
If you are selecting the element for the menu then you would want to reach out to the plugin’s support for their recommendations.
kplalushi
why wpbeginner is not responsive?
Editorial Staff
New design is coming soon
Admin