Responsive Block Control – Hide blocks based on display width

plugin banner

Responsive Block Control adds responsive toggles to a "Visibility" panel of the block editor (i.e Gutenberg), to show or hide blocks accordi …

Author:landwire (profile at wordpress.org)
WordPress version required:5.2
WordPress version tested:6.9.4
Plugin version:1.3.2
Added to WordPress repository:30-01-2020
Last updated:21-02-2026
Rating, %:100
Rated by:4
Plugin URI:
Total downloads:14 315
Active installs:1 000+
plugin download
Click to start download

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: security@saschapaukner.de

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
FAQ
ChangeLog