Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Fix You attempted to edit an item that doesn't exist error on WordPress 5.8 #5425

Merged
merged 1 commit into from
Dec 21, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions src/BlockTemplatesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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 );
Expand Down