Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Create a Mobile-Ready Responsive WordPress Menu

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.

How to 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.

A sliding side panel menu in WordPress

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.

Creating a mobile-ready responsive menu

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.’

Choosing a template for your navigation menu

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.

Adding a responsive menu to a WordPress blog or website

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.’

How to create a mobile-ready menu for your website or blog

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.

Previewing a responsive menu on a smartphone or tablet

To customize how the menu looks and acts on mobile devices, select ‘Mobile Menu.’

Then, click on ‘Container.’

Designing a mobile-responsive WordPress navigation menu

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.

How to preview a mobile menu on desktop

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.

Adding a custom title to a navigation menu

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.

Customizing the title in a WordPress navigation menu

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.

Customizing how a menu looks using a free WordPress plugin

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.

Removing the title from a WordPress 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.

Adding your own messaging to a mobile-ready navigation 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.

Creating a unique menu for a smartphone or tablet

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.

Expanding the WordPress navigation menu settings

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.

Creating a multi-column menu layout

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.’

Removing a search bar from the WordPress mobile menu

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.’

Making the mobile-responsive menu live on your website

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.’

Creating a fullscreen menu for smartphones and tablets

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.’

Showing a fullscreen menu on a mobile device

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.

Adding custom colors to a mobile-responsive 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.

Changing the appearance of a mobile navigation menu

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.

Adding animation effects to a mobile website

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.

Creating a mobile-responsive WordPress menu

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.

Adding shortcodes and HTMTL to your website's navigation

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.

An example of a fullscreen mobile 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.’

Adding social icons to your blog or website

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.

Adding Facebook, Twitter, and other social platforms to your website or blog

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.’

How to add a search bar to your mobile website

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.

Making a mobile responsive menu live on your website

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.

Choosing a SeedProd template

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.

Creating mobile responsive navigation using SeedProd

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.

Creating a mobile responsive menu using SeedProd

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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

32 CommentsLeave a Reply

  1. 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.

  2. 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

  3. 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

  4. 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

  5. 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

  6. Shawn

    Does it support multi menu level?

    • WPBeginner Support

      The plugin does allow a dropdown for multi-level menus

      Admin

  7. 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

  8. 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

  9. 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.

  10. 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.

  11. Amy

    Is there a way to have one menu on desktop and another one for mobile in word press?

  12. 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!

  13. 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

  14. 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?

  15. edwin

    my searchdropdown wont work on mobile devices it closes inmediately pull my hair out:

    anny idea;s?

  16. Juan

    this blog is amazing, thanks for the contribution.

  17. 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

  18. L E Johns

    The plugin you recommend requires PHP 5.4. How does one upgrade to whatever PHP 5.4 is? Thank you.

  19. 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.

  20. kplalushi

    why wpbeginner is not responsive?

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.