diff --git a/src/BlockTemplatesController.php b/src/BlockTemplatesController.php index a631eb4b918..48fae793464 100644 --- a/src/BlockTemplatesController.php +++ b/src/BlockTemplatesController.php @@ -92,9 +92,10 @@ public function maybe_return_blocks_template( $template, $id, $template_type ) { // Check if the theme has a saved version of this template before falling back to the woo one. Please note how // the slug has not been modified at this point, we're still using the default one passed to this hook. - $maybe_template = function_exists( 'get_block_template' ) ? - get_block_template( $id, $template_type ) : - gutenberg_get_block_template( $id, $template_type ); + $maybe_template = function_exists( 'gutenberg_get_block_template' ) ? + gutenberg_get_block_template( $id, $template_type ) : + get_block_template( $id, $template_type ); + if ( null !== $maybe_template ) { add_filter( 'pre_get_block_file_template', array( $this, 'maybe_return_blocks_template' ), 10, 3 ); return $maybe_template; @@ -103,9 +104,9 @@ public function maybe_return_blocks_template( $template, $id, $template_type ) { // Theme-based template didn't exist, try switching the theme to woocommerce and try again. This function has // been unhooked so won't run again. add_filter( 'get_block_file_template', array( $this, 'get_single_block_template' ), 10, 3 ); - $maybe_template = function_exists( 'get_block_template' ) ? - get_block_template( 'woocommerce//' . $slug, $template_type ) : - gutenberg_get_block_template( 'woocommerce//' . $slug, $template_type ); + $maybe_template = function_exists( 'gutenberg_get_block_template' ) ? + gutenberg_get_block_template( 'woocommerce//' . $slug, $template_type ) : + get_block_template( 'woocommerce//' . $slug, $template_type ); // Re-hook this function, it was only unhooked to stop recursion. add_filter( 'pre_get_block_file_template', array( $this, 'maybe_return_blocks_template' ), 10, 3 );