diff --git a/includes/class-convertkit-gutenberg.php b/includes/class-convertkit-gutenberg.php index e7286322d..1c51589cf 100644 --- a/includes/class-convertkit-gutenberg.php +++ b/includes/class-convertkit-gutenberg.php @@ -149,19 +149,7 @@ public function add_blocks() { } // Determine the block API version to use for registering blocks. - // WordPress supports Version 3 from WordPress 6.3: - // https://developer.wordpress.org/block-editor/reference-guides/block-api/block-api-versions/. - $block_api_version = ( version_compare( get_bloginfo( 'version' ), '6.3', '>=' ) ? 3 : 2 ); - - /** - * Determine the block API version to use for registering blocks. - * - * @since 3.1.4 - * - * @param int $block_api_version Block API version. - * @return int Block API version. - */ - $block_api_version = apply_filters( 'convertkit_gutenberg_block_api_version', $block_api_version ); + $block_api_version = $this->get_block_api_version(); // Get registered blocks. $registered_blocks = array_keys( WP_Block_Type_Registry::get_instance()->get_all_registered() ); @@ -199,6 +187,33 @@ public function add_blocks() { } + /** + * Determines the block API version to use for registering blocks. + * + * @since 3.2.0 + * + * @return int Block API version. + */ + public function get_block_api_version() { + + // Determine the block API version to use for registering blocks. + // WordPress supports Version 3 from WordPress 6.3: + // https://developer.wordpress.org/block-editor/reference-guides/block-api/block-api-versions/. + $block_api_version = ( version_compare( get_bloginfo( 'version' ), '6.3', '>=' ) ? 3 : 2 ); + + /** + * Determine the block API version to use for registering blocks. + * + * @since 3.1.4 + * + * @param int $block_api_version Block API version. + * @return int Block API version. + */ + $block_api_version = apply_filters( 'convertkit_gutenberg_block_api_version', $block_api_version ); + + return absint( $block_api_version ); + + } /** * Enqueues scripts for Gutenberg blocks in the editor view. * @@ -229,8 +244,9 @@ public function enqueue_scripts() { 'convertkit-gutenberg', 'convertkit_gutenberg', array( - 'ajaxurl' => rest_url( 'kit/v1/blocks' ), - 'get_blocks_nonce' => wp_create_nonce( 'wp_rest' ), + 'ajaxurl' => rest_url( 'kit/v1/blocks' ), + 'block_api_version' => $this->get_block_api_version(), + 'get_blocks_nonce' => wp_create_nonce( 'wp_rest' ), ) ); diff --git a/resources/backend/js/gutenberg.js b/resources/backend/js/gutenberg.js index 258fe1fff..ed36890b8 100644 --- a/resources/backend/js/gutenberg.js +++ b/resources/backend/js/gutenberg.js @@ -885,6 +885,7 @@ function convertKitGutenbergRegisterBlock(block) { // Register Block. registerBlockType('convertkit/' + block.name, { + apiVersion: convertkit_gutenberg.block_api_version, title: block.title, description: block.description, category: block.category,