Editor: Fix post editor layout when Post Content has no attributes.

Changes output of `wp_get_post_content_block_attributes` to return null if Post Content block doesn’t exist or empty array if it has no attributes.

Props flixos90, mukesh27.
Fixes #59358.


git-svn-id: https://develop.svn.wordpress.org/trunk@56629 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Isabel Brison
2023-09-20 01:24:32 +00:00
parent a0cce3900e
commit bee2dc4ba2
7 changed files with 144 additions and 7 deletions

View File

@@ -409,11 +409,12 @@ function wp_get_first_block( $blocks, $block_name ) {
* Retrieves Post Content block attributes from the current post template.
*
* @since 6.3.0
* @since 6.4.0 Return null if there is no post content block.
* @access private
*
* @global int $post_ID
*
* @return array Post Content block attributes or empty array if they don't exist.
* @return array|null Post Content block attributes array or null if Post Content block doesn't exist.
*/
function wp_get_post_content_block_attributes() {
global $post_ID;
@@ -421,7 +422,7 @@ function wp_get_post_content_block_attributes() {
$is_block_theme = wp_is_block_theme();
if ( ! $is_block_theme || ! $post_ID ) {
return array();
return null;
}
$template_slug = get_page_template_slug( $post_ID );
@@ -457,12 +458,12 @@ function wp_get_post_content_block_attributes() {
$template_blocks = parse_blocks( $current_template[0]->content );
$post_content_block = wp_get_first_block( $template_blocks, 'core/post-content' );
if ( ! empty( $post_content_block['attrs'] ) ) {
if ( isset( $post_content_block['attrs'] ) ) {
return $post_content_block['attrs'];
}
}
return array();
return null;
}
/**
@@ -635,7 +636,7 @@ function get_block_editor_settings( array $custom_settings, $block_editor_contex
$post_content_block_attributes = wp_get_post_content_block_attributes();
if ( ! empty( $post_content_block_attributes ) ) {
if ( isset( $post_content_block_attributes ) ) {
$editor_settings['postContentAttributes'] = $post_content_block_attributes;
}