From 0e9917f56198a25b603693c97f8694906d3378ad Mon Sep 17 00:00:00 2001 From: Jb Audras Date: Mon, 8 Aug 2022 08:20:43 +0000 Subject: [PATCH] Editor: Safeguard `has_blocks()` against fatal errors. This changeset ensures `has_blocks()` doesn't return a fatal error when `$post` is not a valid post. If the post can't be retrieved, the function now returns `false`. Props Howdy_McGee, costdev, colonelphantom, audrasjb, dlh, peterwilsoncc. Fixes #55705. git-svn-id: https://develop.svn.wordpress.org/trunk@53858 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/blocks.php | 7 +++++-- tests/phpunit/tests/blocks/register.php | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/wp-includes/blocks.php b/src/wp-includes/blocks.php index 62ba1843d7..f6c8f32706 100644 --- a/src/wp-includes/blocks.php +++ b/src/wp-includes/blocks.php @@ -425,9 +425,12 @@ function unregister_block_type( $name ) { function has_blocks( $post = null ) { if ( ! is_string( $post ) ) { $wp_post = get_post( $post ); - if ( $wp_post instanceof WP_Post ) { - $post = $wp_post->post_content; + + if ( ! $wp_post instanceof WP_Post ) { + return false; } + + $post = $wp_post->post_content; } return false !== strpos( (string) $post, '