diff --git a/wp-includes/block-bindings.php b/wp-includes/block-bindings.php new file mode 100644 index 0000000000..d0def1c86e --- /dev/null +++ b/wp-includes/block-bindings.php @@ -0,0 +1,66 @@ +register( $source_name, $source_properties ); +} + +/** + * Unregisters a block bindings source. + * + * @since 6.5.0 + * + * @param string $source_name Block bindings source name including namespace. + * @return array|false The unregistred block bindings source on success and `false` otherwise. + */ +function unregister_block_bindings_source( $source_name ) { + return WP_Block_Bindings_Registry::get_instance()->unregister( $source_name ); +} + +/** + * Retrieves the list of all registered block bindings sources. + * + * @since 6.5.0 + * + * @return array The array of registered block bindings sources. + */ +function get_all_registered_block_bindings_sources() { + return WP_Block_Bindings_Registry::get_instance()->get_all_registered(); +} diff --git a/wp-includes/class-wp-block-bindings-registry.php b/wp-includes/class-wp-block-bindings-registry.php index baffd2f3dc..8b36387552 100644 --- a/wp-includes/class-wp-block-bindings-registry.php +++ b/wp-includes/class-wp-block-bindings-registry.php @@ -10,7 +10,7 @@ */ /** - * Core class used for interacting with block binding sources. + * Core class used for interacting with block bindings sources. * * @since 6.5.0 */ @@ -20,7 +20,6 @@ final class WP_Block_Bindings_Registry { * Holds the registered block bindings sources, keyed by source identifier. * * @since 6.5.0 - * * @var array */ private $sources = array(); @@ -34,7 +33,7 @@ final class WP_Block_Bindings_Registry { private static $instance = null; /** - * Registers a new block binding source. + * Registers a new block bindings source. * * Sources are used to override block's original attributes with a value * coming from the source. Once a source is registered, it can be used by a @@ -66,7 +65,7 @@ final class WP_Block_Bindings_Registry { if ( ! is_string( $source_name ) ) { _doing_it_wrong( __METHOD__, - __( 'Block binding source name must be a string.' ), + __( 'Block bindings source name must be a string.' ), '6.5.0' ); return false; @@ -75,7 +74,7 @@ final class WP_Block_Bindings_Registry { if ( preg_match( '/[A-Z]+/', $source_name ) ) { _doing_it_wrong( __METHOD__, - __( 'Block binding source names must not contain uppercase characters.' ), + __( 'Block bindings source names must not contain uppercase characters.' ), '6.5.0' ); return false; @@ -85,7 +84,7 @@ final class WP_Block_Bindings_Registry { if ( ! preg_match( $name_matcher, $source_name ) ) { _doing_it_wrong( __METHOD__, - __( 'Block binding source names must contain a namespace prefix. Example: my-plugin/my-custom-source' ), + __( 'Block bindings source names must contain a namespace prefix. Example: my-plugin/my-custom-source' ), '6.5.0' ); return false; @@ -94,8 +93,8 @@ final class WP_Block_Bindings_Registry { if ( $this->is_registered( $source_name ) ) { _doing_it_wrong( __METHOD__, - /* translators: %s: Block binding source name. */ - sprintf( __( 'Block binding source "%s" already registered.' ), $source_name ), + /* translators: %s: Block bindings source name. */ + sprintf( __( 'Block bindings source "%s" already registered.' ), $source_name ), '6.5.0' ); return false; @@ -112,18 +111,18 @@ final class WP_Block_Bindings_Registry { } /** - * Unregisters a block binding source. + * Unregisters a block bindings source. * * @since 6.5.0 * - * @param string $source_name Block binding source name including namespace. - * @return array|false The unregistred block binding source on success and `false` otherwise. + * @param string $source_name Block bindings source name including namespace. + * @return array|false The unregistred block bindings source on success and `false` otherwise. */ public function unregister( $source_name ) { if ( ! $this->is_registered( $source_name ) ) { _doing_it_wrong( __METHOD__, - /* translators: %s: Block binding source name. */ + /* translators: %s: Block bindings source name. */ sprintf( __( 'Block binding "%s" not found.' ), $source_name ), '6.5.0' ); @@ -153,7 +152,7 @@ final class WP_Block_Bindings_Registry { * @since 6.5.0 * * @param string $source_name The name of the source. - * @return array|null The registered block binding source, or `null` if it is not registered. + * @return array|null The registered block bindings source, or `null` if it is not registered. */ public function get_registered( $source_name ) { if ( ! $this->is_registered( $source_name ) ) { @@ -164,12 +163,12 @@ final class WP_Block_Bindings_Registry { } /** - * Checks if a block binding source is registered. + * Checks if a block bindings source is registered. * * @since 6.5.0 * * @param string $source_name The name of the source. - * @return bool `true` if the block binding source is registered, `false` otherwise. + * @return bool `true` if the block bindings source is registered, `false` otherwise. */ public function is_registered( $source_name ) { return isset( $this->sources[ $source_name ] ); diff --git a/wp-includes/version.php b/wp-includes/version.php index 5daf59e385..a3ddd08f24 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.5-alpha-57374'; +$wp_version = '6.5-alpha-57375'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. diff --git a/wp-settings.php b/wp-settings.php index 9904bf5003..893517a119 100644 --- a/wp-settings.php +++ b/wp-settings.php @@ -329,8 +329,8 @@ require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-stylesheet.php'; require ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-posts.php'; require ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-taxonomies.php'; require ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-users.php'; -require ABSPATH . WPINC . '/class-wp-block-editor-context.php'; require ABSPATH . WPINC . '/class-wp-block-bindings-registry.php'; +require ABSPATH . WPINC . '/class-wp-block-editor-context.php'; require ABSPATH . WPINC . '/class-wp-block-type.php'; require ABSPATH . WPINC . '/class-wp-block-pattern-categories-registry.php'; require ABSPATH . WPINC . '/class-wp-block-patterns-registry.php'; @@ -343,6 +343,7 @@ require ABSPATH . WPINC . '/class-wp-block-parser-frame.php'; require ABSPATH . WPINC . '/class-wp-block-parser.php'; require ABSPATH . WPINC . '/class-wp-classic-to-block-menu-converter.php'; require ABSPATH . WPINC . '/class-wp-navigation-fallback.php'; +require ABSPATH . WPINC . '/block-bindings.php'; require ABSPATH . WPINC . '/blocks.php'; require ABSPATH . WPINC . '/blocks/index.php'; require ABSPATH . WPINC . '/block-editor.php';