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');
Installation
- Upload
responsive-block-control.phpto the/wp-content/plugins/directory - 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
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

