Slide out menus can be a great way to expand functionality on your site so we’ve created this step-by-step guide so that you can have an awesome and flexible slide out menu on your site.

Slide Out Menu Adds Versatility

A slide out menu can be used for almost anything – no…really – how many sites have you been on where you clicked a link or button and a popup window slid into view? 10? 20? …50?

They are so popular because it’s an easy to implement, extra dimension of your site, and most importantly, it’s also easy to use – and interact with. Did we mention you can use it for almost anything?

Plus, no coding required!

Oh right, and the obligatory: it works dynamically, you won’t be generating menus manually and it’s 100% responsive – the responsiveness may be a good thing, or it may be bad thing – an interesting topic we will dissect shortly.

Creating Your Own

Goals

As always, first consider your goals and what you’re trying to accomplish. For this guide, we’re going to be creating slide menu that is “User Navigation”.

This is popular use for slide and push menus, and once you’re logged into a site, you would then have access to a button or link to click open this special menu for users who are logged in.

Our special user menu is going include a user profile picture, the custom nav menu, and an ad.

Final Product Vid

Experience the Demo

See it live!

Before We Get Started

Plugins Needed

Responsive or Fixed Width Popup for the Menu?

Consider what our goals are for this slide out menu – user navigation is the one main goal. Remember the 3 C’s of Navigation? Clean, clear, and concise.

The Problem

By default, all popups are responsive – it’s width will be a percentage of the device screen width. This means the smaller the screen, the smaller popup. A 25% width popup serves as a great working space for almost anything on a 1200 pixel screen, but on a 320 pixel screen, it’s basically useless.

As such, we have to make sure our popup slide menu stays nice and big on smaller devices, and doesn’t change at all on big devices.

For example, here’s an illustration that shows what happens when you have a 25% width responsive popup (serving as a slide out menu) spanning across different platforms:

Responsive Slide Out Menu Problem

Having a slide out menu that doesn’t work properly on small devices is like having no slide out menu at all.

Solution #1: Fixed Width

Simply setting your popup to display at a fixed width will keep it at that size on all devices. For our slide out menu, we must have a good width that will be both large enough for large screens but small enough for small screens, while not being too small, like above.

The smallest devices that are now years old top out at 320 pixels, so if we were to take the non-responsive solution, then we would set our popup width to 320 pixels. Here is what it would look like in our Popup Editor:

Setup A Non-Responsive Popup

This solves the original problem because no matter what size the device is, the popup will always be 320 pixels wide. On the other hand, the popup will always be 320 pixels wide. It’s not a killer, but isn’t the best either. It is, however, better than having a super tiny slide out menu no one can read on their phone.

Pros
  • Super quick and easy.
  • Solves original problem.
Cons
  • Fixed width, non-responsive.

Solution #2: Responsive Popups with Conditions

In this best-of-all-worlds scenario, we can create two popups, one for mobile devices and one for non-mobile devices.

We can create a slide out menu for mobile devices that takes up nearly the whole screen so that the navigation would be clean and clear.

Mobile devices do not include tablets, so tablets will be using the non-mobile sized slide out menu.

For the non-mobile devices, we’ll set the popup to take up a fourth screen so the nav menu is simple, clean, and has plenty of working space.

Using our Advanced Targeting Condition Extension, we then call one of the correct popup depending on what device the user is browsing with. Using this extension allows us to get the best of both worlds and keeps our menu flexible and versatile, without limitations.

In the screenshot below, I’ve set one of our popups to be called only when the device is a mobile device:

Mobile Device Only Advanced Targeting Condition

Sounds like a lot of work, right? Wrong! Using Duplicate Post makes creating and managing the two popups quick and easy.

Plus, since each device has it’s own special popup, we can easily add special styles that will only effect that popup on that device using the #popmake-ID CSS Selector. We’ll be able to target both popups simultaneously, or exclusively. Also, we won’t have to worry about messing up other mobile styles we may have already coded, or we can use them if we like as well.

Pros
  • Fixes original problem
  • Maintain site wide and menu flexibility and versatility
  • No limitations
  • Easily add special styles
Cons

Final Thoughts on the Solutions

For you, just like us, it depends on your slide out menu, it’s goals, and how you’re going to implement it to achieve those goals.

Will it be best for your goals and implementation to go with solutions #1? Or would it be best to go with #2?

For our menu, we’re going with solution #2. We want the most flexibility, the most versatility, and we don’t want any issues down the road.

Solution #2 delivers all these for us, and we only have to sacrifice a tiny amount of time relative to the benefits – a natural born no-brainer.

With all of our preliminary stuff out of the way, let’s make us a sliding menu!

Create Our Menu

The menu creation process here is no different than creating a standard menu in WordPress. Navigate to Appearance Menus.

We called our menu “Slide Out Menu”. Remember what you named your menu, we’ll need that in a few minutes:

Standard Wordpress Menu Setup

Install and Activate Menu Shortcodes

Now that we have created our menu, we’ll need the plugin Menu Shortcodes. This plugin will allow us to call any menu and put it anywhere that we can use a shortcode. We’re going to put our menu in the popup using the shortcode provided by this very simple and lightweight plugin. The menu will then display in an accordion format.

Once you’re updated, we can create the popup!

Create Our Popup

We’re going to create the popup for the non-mobile devices first. From the WP Admin, navigate to Popup Maker Popups Add New.

If you haven’t been here before, welcome to the Popup Editor!

Name and Title

Name and title your popup as you see fit. We like to include ‘popup’ in our popup names because it makes triggering them later easier. Also, we’re going to exclude a popup title for this popup – this is optional content for all popups.

Name And Title Your Popup

Content

Like we’ve determined earlier, the content will include a user image, navigation, and an ad. Everything is done normally, except the menu. To get the menu inside the popup, we’ll now use Menu Shortcodes.

Once you’ve installed the plugin, you can now call your menu anywhere using this shortcode:

We didn’t center the menu because of the way it will be displayed in the accordion doesn’t call for center alignment.

You can see the shortcode here in the WYSIWIG Popup Editor:

Create Content In The Wysiwig Popup Editor

Advanced Targeting Conditions

As mentioned earlier, this popup will be for non-mobile devices only, and once we get this popup completed, we can easily duplicate and adjust it to make our mobile only version:

Non-Mobile Device Advanced Targeting Condition

Triggers and Cookies

Since we’re doing a slide menu, we’re first going to make sure the popup displays when a user clicks the button or icon, which is the Click Open Trigger:

Click Open Trigger

We obviously want the user to be able to see this nav menu content on demand, so we won’t be setting any cookies:

Not Setting Cookies On This On Demand Popup

Display Settings

We use the following display settings to give this popup the look and feel of a slide out menu. There is nothing default about these settings because it’s unlike a typical popup and serves a different and unique purpose.

For example, two settings we would rarely change from default, we change from default in this implementation.

First, we made this a stackable popup because it’s possible the user could trigger another popup (Exit Intent, Scroll, etc.) while this popup slide menu is open. Second, we adjusted the z-index values for the popup and overlay so that when this situation does occur, the slide menu will be under the traditional popups.

We also included scrollable content because as our accordion menu expands and contracts, the popup has to adapt to the different heights. Don’t cringe at the thought of scroll bars – we have a slick solution for some minimalist and elegant scroll bars later in the guide.

Last, we chose to set the position to fixed as it prevents awkwardness if the user is scrolling through the popup to view the content.

Here’s a screen of our settings:

Slide Out Menu Popup Display Settings

Close Settings

We only want this popup to close when a user clicks the button that closes the popup:

Slide Out Menu Popup Close Settings

Conditions, Theme, and Publish

We leave conditions blank here, as we’ve already set Advanced Targeting Conditions. We have a special theme called “Slide Out Menu”, which we’ll do some customization to as well.

Publish

Once you publish the popup, all we have left is to do is clone, then trigger it on the front end.

Clone and Create Mobile Only Popup

As we clone this popup, take note of both popup ID numbers, we’ll need those if we’re to write custom CSS rules for both slide out menus simultaneously (or exclusively).

Using our handy Duplicate Post plugin, we can easily clone our current non-mobile only popup, and then adjust and rename the clone according to our mobile only specifications:

Cloning Our Slide Out Menu Popup

In this instance, we went with a 90% width for mobile only devices – this is the only change we need to make between the popups to achieve the look we’re going for across all platforms:

Slide Out Menu Popup Width

Click Triggers on the Front End

Now that we have both popups created, we can setup one button with two popup calls using #popmake-64 as the href, and the #popmake-356 as the class. Popup #64 is our non-mobile popup, and popup #356 is our mobile only popup.

Read more about Click Open triggers here.

Even though the element has two popups attached to it, only one popup will actually be available to be triggered. Which popup that will be depends on whether you’re using a mobile device or a non-mobile device according to the Advanced Targeting Conditions we setup earlier.

Here’s what our popup looks like so far – it includes the three elements mentioned earlier – the profile image, the accordion menu, and an ad:

Slide Out Menu Without Tlc

Custom Looks

Function wise, this is a done deal, but naturally, we have to go next level. After adding some CSS, we have:

Slide Out Menu With Tlc And Scrollbars

The Only Cure is More Scrollbar

The biggest issue for this popup is scrollbars – they’re ugly – and they’re finicky across browsers. As such, we’ll need a plugin to help us solve this problem.

Custom Scrollbar

In our testing, we found Custom Scrollbar to be a very lightweight and simple solution. This allows us to get re-style our scrollbars across all browsers easily – feel free to experiment with it on your own.

Using the following settings for the plugin and the CSS code below will net you a sleek, minimalist scrollbar, further enhancing the look and feel of our slide out menu:

Custom Scrollbar Settings

When you customize your scrollbar settings, you can leave the colors (not pictured) as they are, we’re going to overwrite them with the CSS below to streamline them:

Final Product Screenshot

How ‘bout ‘dem scrollbars:

Desktop

A Beautiful Slide Out Menu With Sleek Scrollbars
A Beautiful Slide Out Menu With Sleek Scrollbars

Mobile

Since the Advanced Targeting Condition of “Device is Mobile” doesn’t operate according to screen resolution, but the device itself, we have to take screenshots from an actual mobile device to show you what it looks like – this is from an Android device:

Our Slide Out Menu On Mobile Devices

Advanced Targeting Conditions Pays Dividends

It was worth the extra investment because, for us, it was such a comforting feeling knowing that our slide out menu is going to look great across all mobile devices.

We don’t have to worry if the menu is ever going to be too big, or too small, or too something for mobile devices because we have complete control over our mobile device only slide out menu.

Final Product Video

Experience the Demo

See it live on the Popup Maker Playground site.