WordPress.org

Plugin Directory

Responsive Block Control – Hide blocks based on display width

Image
Image

Responsive Block Control – Hide blocks based on display width

Description

Responsive Block Control adds responsive toggles to a “Visibility” panel of the block editor, to show or hide blocks according to screen width.

Security

Version 1.3.1 resolves a stored cross‑site scripting (XSS) vulnerability (CVE‑2025‑62135) affecting earlier versions (<= 1.2.9).
Users with contributor access or higher should update immediately.

If you discover a security vulnerability, please report it responsibly to: [email protected]

Limitations

Does not work with the Classic Block, Widget Block or Widget Area Block [‘core/freeform’, ‘core/legacy-widget’, ‘core/widget-area’], as the those blocks do not support block attributes. Does also not work with the HTML Block [‘core/html’] inside the Widget Screen, as this one also does not support block attributes there.

Configuration

Override existing breakpoints

function override_responsive_block_control_breakpoints($break_points) {
     $break_points['base'] = 0;
     $break_points['mobile'] = 400;
     $break_points['tablet'] = 800;
     $break_points['desktop'] = 1000;
     $break_points['wide'] = 1600;

     return $break_points;
 }

 add_filter('responsive_block_control_breakpoints', 'override_responsive_block_control_breakpoints');

Provide custom CSS

You can provide your own CSS rules per breakpoint using the new filter responsive_block_control_custom_css_rules.

add_filter('responsive_block_control_custom_css_rules', function($rules) {
    return [
        'mobile'  => 'display: none !important;',
        'tablet'  => 'display: none !important;',
        'desktop' => 'display: none !important;',
        'wide'    => 'display: none !important;',
    ];
});

Stop css output completely

 function override_responsive_block_control_add_css() {
      return false;
  }
  add_filter('responsive_block_control_breakpoints', 'override_responsive_block_control_add_css');

Screenshots

  • Image
    The ‘Responsive Block Control’ toggles at work in the block editor.

Installation

  1. Upload responsive-block-control.php to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress

FAQ

Is it possible to use different breakpoints?

Yes, use the following code in your functions.php or similar.

function override_responsive_block_control_breakpoints($break_points) {
     $break_points['base'] = 0;
     $break_points['mobile'] = 400;
     $break_points['tablet'] = 800;
     $break_points['desktop'] = 1000;
     $break_points['wide'] = 1600;

     return $break_points;
 }

 add_filter('responsive_block_control_breakpoints', 'override_responsive_block_control_breakpoints');

Can I provide custom CSS per breakpoint? I want to display: none instead of hiding just visually

Yes, use the responsive_block_control_custom_css_rules filter:

add_filter('responsive_block_control_custom_css_rules', function($rules) {
    return [
        'mobile'  => 'display: none !important;',
        'tablet'  => 'display: none !important;',
        'desktop' => 'display: none !important;',
        'wide'    => 'display: none !important;',
    ];
});

This ensures the CSS respects the current breakpoints and applies to the correct .rbc-is-hidden-on-{breakpoint} classes.

Can I write my own CSS and just use the classes?

Yes, that is absolutely possible. Just use the filter below to stop the plugin from injecting its’ styles:

function override_responsive_block_control_add_css() {
     return false;
 }
 add_filter('responsive_block_control_breakpoints', 'override_responsive_block_control_add_css');

Reviews

Image
August 6, 2022 1 reply
“Responsive Block Control” is one of the best plugins almost used on my all website. I just love it and expect more with the updating of the WordPress version.
Image
March 7, 2020
Hi there, thank you for a great little plugin! It is ideal for showing some content for small screens and some other content for bigger screens. What really makes it stand out from other plugins is that you can adjust the breakpoints and tune them to correspond with your plugins in your theme.
Read all 4 reviews

Contributors & Developers

“Responsive Block Control – Hide blocks based on display width” is open source software. The following people have contributed to this plugin.

Contributors

“Responsive Block Control – Hide blocks based on display width” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Responsive Block Control – Hide blocks based on display width” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.3.1

  • Security fix: Mitigated authenticated Stored XSS (CVE‑2025‑62135).
  • Added responsive_block_control_custom_css_rules filter to allow developers to provide their own CSS per breakpoint
  • Fixed media query generation to match breakpoints correctly
  • Ensured JS only injects CSS if customCss is present and sanitized

1.3.0

  • Raised version after testing and package updates

1.2.9

  • Added check to not load editor assets in the front end

1.2.8

  • Updated asset loading for changes introduced in WordPress 6.3
  • Added “Limitations” section to readme

1.2.7

Recompiled assets for distribution

1.2.6

  • fixed translation for visibility information
  • added check for Classic Block and disabled display of settings there

1.2.0

  • fixed some JS logic
  • added visibility information to blocks in Gutenberg editor

1.1.1

  • fixed regex for adding classes in the frontend

1.1.0

  • Removed the “blocks.getSaveContent.extraProps” JS filter as it causes block validation errors
  • Instead we are using the recommended PHP filter “render_block” to add the necessary classes vie preg_replace()

1.0.0

  • Initial Release of the plugin