From 62c3db0e1c5df4b56be3ed5f7ea11b50630759fe Mon Sep 17 00:00:00 2001 From: Brian DiChiara <122309362+bd-viget@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:12:04 -0500 Subject: [PATCH] [N/A] Reset block ID transient on new requests to prevent changing (#140) --- .../src/classes/BlockRegistration.php | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/wp-content/plugins/acf-blocks-toolkit/src/classes/BlockRegistration.php b/wp-content/plugins/acf-blocks-toolkit/src/classes/BlockRegistration.php index 45ed7d67..08b1637d 100644 --- a/wp-content/plugins/acf-blocks-toolkit/src/classes/BlockRegistration.php +++ b/wp-content/plugins/acf-blocks-toolkit/src/classes/BlockRegistration.php @@ -48,6 +48,9 @@ public static function init(): void { // Register block patterns within block folders self::register_block_patterns(); + // Reset block IDs on a new request + self::reset_block_ids(); + // Add unique, persistent IDs to each ACF block. self::create_block_id(); } @@ -461,7 +464,7 @@ public static function store_block_id( string $block_id ): void { if ( ! in_array( $block_id, self::$block_ids, true ) ) { self::$block_ids[] = $block_id; - set_transient( self::BLOCK_IDS_TRANSIENT, self::$block_ids, 1 ); + set_transient( self::BLOCK_IDS_TRANSIENT, self::$block_ids, 5 ); } } @@ -490,4 +493,20 @@ private static function load_block_ids(): void { } } } + + /** + * Reset the block IDs on a new request. + * + * @return void + */ + private static function reset_block_ids(): void { + add_action( + 'acf/init', + function() { + if ( empty( self::$block_ids ) ) { + delete_transient( self::BLOCK_IDS_TRANSIENT ); + } + } + ); + } }