Spectra has introduced the Display conditions feature for the blocks. The Display conditions are the options on which you would like to hide the block based on User State, User Role, Browser, and Operating System.
You can enable the Display conditions from the Spectra Admin Panel. Navigate to Spectra > Dashboard > Blocks / Extensions > Display Conditions. Setting the toggle to on mode will enable the Display Conditions for blocks.
Once you enable the display conditions option, you can find the Display Conditions settings under the ‘Others’ section of the respective blocks.
Let’s see the options or conditions on which you can hide the block –
- User State–Hide from Logged In, Logged out users.
- Hide for User Role– None, Administrator, Editor, Author, Contributor, Subscriber, Customer, Shop Manager, Group Leader, LMS Manager, Instructor, Instructor’s Assistant, Student.
- Hide on Browser–Internet Explorer, Mozilla Firefox, Google Chrome, Opera Mini, Opera, Safari, Microsoft Edge.
- Hide on Operating System–iOS, Android, Windows, OpenBSD, SunOS, Linux, Mac OS.
- Day-You can select the days you want to disable. (Note: This setting will only take effect once you are on the live page, not while editing.)
How to disable Block Display Conditions for specific post types?
To disable Block Display Conditions for specific post types, you need to add the below mentioned filters to the functions.php file.
To access the functions.php file, navigate to Appearance → Theme Editor from your WordPress dashboard. Then, open the functions.php file from the list on the right.
1) To disable the Block display conditions from all post types.
add_filter( \'enable_block_condition\', \'__return_false\' );
2) To disable the Block display conditions for Page post type.
add_filter( \'enable_block_condition\', function( $default = true) {
if (isset($_REQUEST[\'post_type\']) && \'page\' === $_REQUEST[\'post_type\']) {
return false;
} elseif (isset($_GET[\'post\']) && \'page\' === get_post_type($_GET[\'post\'])) {
return false;
}
return $default;
} );
3) To disable the Block display conditions for Post.
add_filter( \'enable_block_condition\', function( $default = true) {
global $pagenow;
if(in_array( $pagenow, array( \'post.php\', \'post-new.php\' ) )){
if (isset($_REQUEST[\'post_type\']) && \'page\' === $_REQUEST[\'post_type\']) {
return true;
} elseif (isset($_GET[\'post\']) && \'page\' === get_post_type($_GET[\'post\'])) {
return true;
}
return false;
}
return $default;
} );