80+
September 5, 2026
August 27, 2019
Have you ever used WordPress’ new block editor Gutenberg and wished for a way to influence, when and to whom blocks are shown? We’ve been in this situation, that’s why we came up with Block Control. This nifty little plugin allows you to control, whether a block should be displayed under certain circumstances or not. And that’s of course true for both WordPress’ default blocks and blocks added by third-party plugins.
You can hide blocks based on:
Additionally, you can set an inline formatting to display certain text only for screen readers.
Feel free to contribute. The code is available at GitHub.
You can find the documentation for Block Control at docs.epiph.yt.
/wp-content/plugins/block-control directory, or install the plugin through the WordPress plugins screen directly.After you install and activate Block Control, you will find a new panel “Visibility” added to every blocks right hand side sidebar. Open the panel to choose a condition for the display of a given block.
Conditional blocks configured this way will only be displayed under certain circumstances chosen by you. Please note, these conditions will only take effect in the front end of your site, not inside the editor itself.
Mostly not. Since Block Control removes content completely from the source code and not just hides it via CSS, it may generate different HTML for every user, which is incompatible to any caching plugin.
The only exception is hiding a block by viewport. As this happens via CSS in the browser, the HTML stays the same for every user and thus works together with page caching. Keep in mind that the content is still accessible in the source code.
Since version 1.1.0 you can hide blocks based on post type. Since you maybe have post types that don’t make sense in this context, you can use the filter block_control_ignored_post_types to remove them.
E.g. if your post type slug is called my_post_type, you can use it like this:
function my_filter_block_control_post_types( $post_types ) {
unset( $post_types['my_post_type'];
return $post_types;
}
add_filter( 'block_control_ignored_post_types', 'my_filter_block_control_post_types' );
Yes. During development, I test each feature against the Web Content Accessibility Guidelines (WCAG). You can find the Accessibility Conformance Report in the documentation.
If you find an issue, please don’t hesitate to contact me via the support forums or via my contact page.
Epiph.yt is your friendly neighborhood WordPress plugin shop from southern Germany.
You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. Report a security vulnerability.
Block_Control::toggle_blocks()blockControl.unsupportedBlocks without needing to load the own JavaScript early.blockControl.unsupportedBlocks to filter the list of unsupported blocks.is_home, is_page, etc.)| Version | Download | Type |
|---|---|---|
| 2.0.1 | Download | Stable |
| 2.0.0 | Download | Stable |
| 1.6.1 | Download | Stable |
| 1.6.0 | Download | Stable |
| 1.5.1 | Download | Stable |
| 1.5.0 | Download | Stable |
| 1.4.1 | Download | Stable |
| 1.4.0 | Download | Stable |
| 1.3.0 | Download | Stable |
| 1.2.0 | Download | Stable |
| 1.1.12 | Download | Stable |
| 1.1.11 | Download | Stable |
| 1.1.10 | Download | Stable |
| 1.1.9 | Download | Stable |
| 1.1.8 | Download | Stable |
| 1.1.7 | Download | Stable |
| 1.1.6 | Download | Stable |
| 1.1.5 | Download | Stable |
| 1.1.4 | Download | Stable |
| 1.1.3 | Download | Stable |
| 1.1.2 | Download | Stable |
| 1.1.1 | Download | Stable |
| 1.1.0 | Download | Stable |
| 1.0.3 | Download | Stable |
| 1.0.2 | Download | Stable |
| 1.0.1 | Download | Stable |
| 1.0.0 | Download | Stable |
| Development | Download | Trunk |