This block allows you to add an additional block content area to a site-editor template and store the block output inside a meta field. By default, WordPress posts or pages may only store blocks in one place: post_content. These blocks are output on the page using the core/post-content block. This block allows you to have multiple “outlets” where you can add blocks so you can have post-specific blocks appear in more than one location in the template.
The block is a fork of the core/post-content block that uses a customized version of the useEntityBlockEditor hook which supports meta keys. The blocks for your content area are then stored inside that meta key (instead of post_content). This allows you to keep the blocks separate and you can use as many of these on a single template as you want (but in most cases 2 is probably enough). It’s all up to you!
If you want to disable this meta key’s registration, add the following to your theme or plugin:
<?php
add_filter( 'content_area_block_register_default_meta', '__return_false' );
For advanced users, there is also a filter for the entire block’s output. See the below snippet from render.php:
<?php
/**
* Filter the block's frontend output.
*
* @param string $parsed_content The parsed block content for output.
* @param int $block_post_id The current post ID the block is displaying in.
* @param array $attributes The block attributes.
* @param string $content The original unparsed block content.
* @param object $block The current parsed block object.
*
* @return The block content for output on the frontend.
*/
$output = apply_filters(
'content_area_block_content',
do_blocks( str_replace( ']]>', ']]>', $content ) ),
$block_post_id,
$attributes,
$content,
$block
);
The plugin source code may be found here: https://github.com/iansvo/content-area-block.
To build the plugin from source, you must have NodeJS (v24+) installed.
Setup Steps:
npm i to install dependencies.npm run build to performn the initial build.If you’re using wp-env to run the plugin…
1. Run npm run wp-env start to start the docker container.
2. Run npm run start to watch for file changes.