How to Display WordPress Blocks Based on Screen Size

|

|

In this tutorial, we will show you how to conditionally display any WordPress block based on the width of the screen (browser window) using the Block Visibility plugin. This functionality allows you to effortlessly show/hide blocks on desktops, tablets, or mobile devices.

Please note that this tutorial applies to the Block Editor, also known as Gutenberg. Block Visibility was designed exclusively for blocks and does not work in the Classic Editor.

Why Display Blocks Based on Screen Size?

The Block Editor, coupled with the Block Visibility plugin, makes creating dynamic content incredibly easy and requires zero coding skills. Best of all, it’s free!

Here are a few examples of why you might find the Screen Size control useful.

  • Hide content on mobile devices that would otherwise clutter the page.
  • Display content that is specific to mobile devices, such as App download links or “Click to Call” buttons, that would not be compatible with desktop devices.
  • Improve responsive design functionality in the Block Editor. Often you will find yourself needing to show/hide various blocks depending on screen size, notably Spacer blocks. Responsive settings are still in preliminary development for WordPress and will likely not be included in core until 2022.

Now that we have addressed the “why”, let’s show you how easy it is to create conditional blocks based on screen size.

How to Conditionally Display Blocks

For this tutorial, we have a demo website that sells “Outdoor Adventures”. The homepage of the website looks a bit cluttered when viewed on mobile devices. Therefore, we want to conditionally hide a few blocks to improve the user experience and increase conversions.

Watch the quick video tutorial below, or if you prefer written instructions, continue reading.

Video Overview

Step 1: Identify the Blocks That Need to be Hidden on Mobile

On the homepage of our “Outdoor Adventure” website, we have a section entitled “Explore The World”. While this section looks great on Desktops and Tablet, it’s not needed on mobile and distracts from the primary call to actions.

This section is made up of two Spacer blocks and a Cover block. See the screenshot below.

The blocks that need to be hidden on mobile.
The blocks that need to be hidden on mobile.

Step 2: Apply Screen Size Visibility Controls

Now that we have identified the blocks that need to be dynamic, we can proceed with applying visibility conditions to each blocks. We will be using the Screen Size control, which is available for free in the core Block Visibility plugin.

Start by selecting the first Spacer block. Navigate to the Visibility panel in the Settings Sidebar. Ensure that the Screen Size control is enabled. Then simply enable “Hide on mobile”.

Configuring the Screen Size control to hide the block on mobile devices.
Configuring the Screen Size control to hide the block on mobile devices.

Repeat this step for the Cover block and the second Spacer block. Update the page and those blocks will now be hidden on all mobile devices!

Homepage on mobile after visibility settings are applied.
Homepage on mobile after visibility settings are applied.

Step 3: Modify Plugin Settings to Match Theme (Optional)

By default, Block Visibility provides default CSS breakpoints that power the Screen Size control. Breakpoints specify in pixels the minimum screen size for tablet devices and the minimum size for desktops. While the defaults will likely work for most users, you can modify these breakpoints in the Plugin Settings to better match your current theme.

A detailed overview of the Screen Size control settings is available in the Knowledge Base, but here is a screenshot of the available options. The video tutorial above also walks through the available functionality.

Configuring Screen Size control settings.
Configuring Screen Size control settings.

We hope this article has shown you just how easy it is to show/hide any WordPress block based on screen size using the Block Visibility plugin. If you haven’t already, download the plugin for free on WordPress.org.

If you want to stay updated on all future tutorials and plugin news, please consider subscribing to our YouTube Channel or following us on Twitter.

Until next time…


Nick Diego Avatar

Nick is the creator of Block Visibility. He is also an active WordPress contributor and Developer Advocate focusing on block-based WordPress. You can follow him on Twitter or reach out in WordPress Slack at @ndiego.

Responses

  1. Tim Avatar
    Tim

    But does this still load the content that is hidden? So for example, if I hide a video module for mobile will it still load in the background, thus slowing load time?

  2. Nick Diego Avatar
    Nick Diego

    Hi Tim, the Screen Size control uses CSS to show/hide blocks, so the video will still be loaded on mobile devices even if it is not visible. To ensure the video is not rendered on mobile devices, you can use the Browser & Device control that is included with Block Visibility Pro.

Share Your Thoughts

Your email address will not be published. Required fields are marked *

Recent Posts

Ready to try Block Visibility?

Unlock the power of the Block Editor with location controls, advanced block scheduling, and more!