diff --git a/packages/block-library/src/button/index.php b/packages/block-library/src/button/index.php index f272fa9eb62b14..6550e50a8f21c0 100644 --- a/packages/block-library/src/button/index.php +++ b/packages/block-library/src/button/index.php @@ -17,7 +17,20 @@ * @return string The block content. */ function render_block_core_button( $attributes, $content ) { - $p = new WP_HTML_Tag_Processor( $content ); + /* + * The current Gutenberg plugin supports WordPress 6.4, but the next_token() + * method does not exist in WordPress 6.4. Therefore, if Gutenberg is used + * as a plugin, use the Gutenberg class that has the `next_token()` method. + * + * TODO: After the Gutenberg plugin drops support for WordPress 6.4, this + * conditional statement will be removed and the core class `WP_HTML_Tag_Processor` + * should be used. + */ + if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN && class_exists( 'Gutenberg_HTML_Tag_Processor_6_5' ) ) { + $p = new Gutenberg_HTML_Tag_Processor_6_5( $content ); + } else { + $p = new WP_HTML_Tag_Processor( $content ); + } /* * The button block can render an `` or `