WordPress plugin intelligence profile

Blocks Everywhere

Puts the Gutenberg block editor everywhere it can - bbPress, comments, and BuddyPress.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 6.6
Current version1.23.1
WordPress coverageTested up to WordPress 6.6
Minimum stackWP 6.6 · PHP 7.4
Directory statusactive
Last directory update13 Oct 202620d ago
Active installations50Adoption metric — not a quality score
WordPress.org rating3.0 / 5 from 2 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Blocks Everywhere version 1.23.1 as active, updated 20d ago and tested up to WordPress 6.6.

Overview

About this plugin

Switches the default WordPress editor for comments, bbPress, and BuddyPress to use Gutenberg. These can now use a richer set of editing tools, as well as having access to the full power of Gutenberg blocks.

Admin moderation is also upgraded to use Gutenberg, and blocks are processed on the front end.

For extra security the list of available blocks is determined by the allowed tags from WordPress. Blocks that aren’t allowed, including nested blocks, are removed when content is saved and are not displayed. The list can be changed with the blocks_everywhere_allowed_blocks filter, which is passed the list and the editor type ( comments, bbpress, or buddypress ).

Gutenberg is not bundled and instead is side-loaded from WordPress. For better compatibility you should use the plugin version of Gutenberg, which is typically several versions ahead of the one included in WordPress.

The condition of the Gutenberg replacements are:

6+)

– comments – alright

– BuddyPress – needs a lot of work

com Support page.

Blocks Everywhere is developed on Github at:

com/Automattic/blocks-everywhere

Caveats

The loading of Gutenberg will also increase the page size of any page it is loaded on. You should be aware of this and willing to accept this in the context of your site.

This doesn’t yet work on block-based themes – it must be a ‘classic’ theme.

You must use the specific version of Gutenberg listed in the changelog.

Usage

php:

define( 'BLOCKS_EVERYWHERE_COMMENTS', true ); define( 'BLOCKS_EVERYWHERE_BBPRESS', true ); define( 'BLOCKS_EVERYWHERE_BUDDYPRESS', true );

You can also use the WordPress filter blocks_everywhere_comments, blocks_everywhere_bbpress, and blocks_everywhere_buddypress.

To enable back-end editing in bbPress:

define( 'BLOCKS_EVERYWHERE_ADMIN', true );

Or use the filter blocks_everywhere_admin. Back-end editing is restricted to users with the manage_options capability (can be changed with the blocks_everywhere_admin_cap filter).

To enable conversion of blocks in email:

define( 'BLOCKS_EVERYWHERE_EMAIL', true );

Or use the filter blocks_everywhere_email.

To enable Gutenberg when editing bbPress forums, topics, and replies you can use:

define( 'BLOCKS_EVERYWHERE_BBPRESS_ADMIN', true );

Or use blocks_everywhere_bbpress_admin

Settings

Some settings are available through the settings object, which is filterable with blocks_everywhere_editor_settings.

allowBlocks - List of blocks offered in the editor. This defaults to the allowed blocks. className - String of classes to be assigned to the editor.

__experimentalOnChange - An optional callback that is triggered when the blocks are changed. __experimentalOnInput - An optional callback that is triggered when text is input. <h3>Theme compatibility</h3>

Gutenberg is placed directly on the page along with your post, forum, etc. This means the contents of the editor will look like the page they will appear on. However, it also means that styles from the page may affect the editor.

We don’t have a perfect way of separating these styles and it is possible that styles from the page or from Gutenberg may affect the other. If you are using this plugin then it is expected that you will be able to fix any differences as appropriate for your site.

A theme compatibility option is provided which might help. You can use this with:

define( 'BLOCKS_EVERYWHERE_THEME_COMPAT', true );

Or using the filter blocks_everywhere_theme_compat.

It provides some overrides for common theme issues. However, it is generally better not to require overrides so if you are able to modify your theme and make CSS more specific then that is the best route.

For example, rather than defining a global button style (which would then affect Gutenberg), make the style specific to the areas where a button will be used.

Using Content Embed block

Content Embed block uses REST API to fetch content to be embedded. This means that site contains bbPress topics to embed should have topic REST API enabled.

Blocks Everywhere enables topic REST API on its own, so if the site with bbPress have this plugin installed and configured, its topics can be embedded.

To enable the Content Embed block, add it to the allowed blocks with the blocks_everywhere_allowed_blocks filter. This adds it to the editor, and allows it to be saved and displayed:

add_filter( 'blocks_everywhere_allowed_blocks', function( $blocks ) { $blocks[] = 'blocks-everywhere/support-content'; return $blocks; } );

To enable REST API for forum topics, use next filters:

add_filter( 'blocks_everywhere_admin', '__return_true' ); add_filter( 'blocks_everywhere_admin_cap', '__return_empty_string' );

REST API is only used when creating content embed and not used to view it. So blocks_everywhere_admin_cap can return specific capability to limit users who will have access to API.

In order for Content Embed block from Blocks Everywhere to load post authors, it is required to enable author data in the topic REST API. To do it, use this filter

add_action( 'bbp_get_topic_post_type_supports', function( $supports ) { $supports[] = 'author'; return $supports; } );

KSES

Gutenberg outputs HTML content and this may be affected by KSES (WordPress HTML sanitisation) and other sanitisation.

The plugin provides some modifications to this so it works fine with basic blocks. You may run into problems if you are using different blocks or have customised permission levels.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • bbpress
  • buddypress
  • comments
  • gutenberg
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 6.6

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 6.6.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to6.6
Minimum requirementsWordPress 6.6 · PHP 7.4
Update activity13 Oct 202620d ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version1.21.01.23.1
WordPress compatibility6.2.116.6.10
WordPress requirement6.26.6
PHP requirement5.67.4
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.