diff --git a/wp-includes/blocks.php b/wp-includes/blocks.php index 0bbc6a345c..4795631de7 100644 --- a/wp-includes/blocks.php +++ b/wp-includes/blocks.php @@ -261,4 +261,18 @@ function _recurse_do_blocks( $blocks, $all_blocks ) { $rendered_content = preg_replace( '//m', '', $rendered_content ); return $rendered_content; -} \ No newline at end of file +} + +/** + * Returns the current version of the block format that the content string is using. + * + * If the string doesn't contain blocks, it returns 0. + * + * @since 5.0.0 + * + * @param string $content Content to test. + * @return int The block format version. + */ +function block_version( $content ) { + return has_blocks( $content ) ? 1 : 0; +} diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php index 3fbf169b76..c2b707dfa0 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php @@ -1509,10 +1509,11 @@ class WP_REST_Posts_Controller extends WP_REST_Controller { if ( in_array( 'content', $fields, true ) ) { $data['content'] = array( - 'raw' => $post->post_content, + 'raw' => $post->post_content, /** This filter is documented in wp-includes/post-template.php */ - 'rendered' => post_password_required( $post ) ? '' : apply_filters( 'the_content', $post->post_content ), - 'protected' => (bool) $post->post_password, + 'rendered' => post_password_required( $post ) ? '' : apply_filters( 'the_content', $post->post_content ), + 'protected' => (bool) $post->post_password, + 'block_version' => block_version( $post->post_content ), ); } @@ -2062,6 +2063,12 @@ class WP_REST_Posts_Controller extends WP_REST_Controller { 'context' => array( 'view', 'edit' ), 'readonly' => true, ), + 'block_version' => array( + 'description' => __( 'Version of the content block format used by the object.' ), + 'type' => 'integer', + 'context' => array( 'edit' ), + 'readonly' => true, + ), 'protected' => array( 'description' => __( 'Whether the content is protected with a password.' ), 'type' => 'boolean', diff --git a/wp-includes/version.php b/wp-includes/version.php index dd7a769c7d..d4a950a492 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '5.0-alpha-43769'; +$wp_version = '5.0-alpha-43770'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.