wp/wp-includes/class-wp-block-bindings-source.php
changeset 22 8c2e4d02f4ef
parent 21 48c4eec2b7e6
--- a/wp/wp-includes/class-wp-block-bindings-source.php	Fri Sep 05 18:40:08 2025 +0200
+++ b/wp/wp-includes/class-wp-block-bindings-source.php	Fri Sep 05 18:52:52 2025 +0200
@@ -2,7 +2,6 @@
 /**
  * Block Bindings API: WP_Block_Bindings_Source class.
  *
- *
  * @package WordPress
  * @subpackage Block Bindings
  * @since 6.5.0
@@ -60,8 +59,8 @@
 	 *
 	 * @since 6.5.0
 	 *
-	 * @param string $name               The name of the source.
-	 * @param array  $source_properties  The properties of the source.
+	 * @param string $name              The name of the source.
+	 * @param array  $source_properties The properties of the source.
 	 */
 	public function __construct( string $name, array $source_properties ) {
 		$this->name = $name;
@@ -71,18 +70,32 @@
 	}
 
 	/**
-	 * Retrieves the value from the source.
+	 * Calls the callback function specified in the `$get_value_callback` property
+	 * with the given arguments and returns the result. It can be modified with
+	 * `block_bindings_source_value` filter.
 	 *
 	 * @since 6.5.0
+	 * @since 6.7.0 `block_bindings_source_value` filter was added.
 	 *
-	 * @param array    $source_args     Array containing source arguments used to look up the override value, i.e. {"key": "foo"}.
-	 * @param WP_Block $block_instance  The block instance.
-	 * @param string   $attribute_name  The name of the target attribute.
-	 *
+	 * @param array    $source_args    Array containing source arguments used to look up the override value, i.e. {"key": "foo"}.
+	 * @param WP_Block $block_instance The block instance.
+	 * @param string   $attribute_name The name of the target attribute.
 	 * @return mixed The value of the source.
 	 */
 	public function get_value( array $source_args, $block_instance, string $attribute_name ) {
-		return call_user_func_array( $this->get_value_callback, array( $source_args, $block_instance, $attribute_name ) );
+		$value = call_user_func_array( $this->get_value_callback, array( $source_args, $block_instance, $attribute_name ) );
+		/**
+		 * Filters the output of a block bindings source.
+		 *
+		 * @since 6.7.0
+		 *
+		 * @param mixed    $value          The computed value for the source.
+		 * @param string   $name           The name of the source.
+		 * @param array    $source_args    Array containing source arguments used to look up the override value, i.e. { "key": "foo" }.
+		 * @param WP_Block $block_instance The block instance.
+		 * @param string   $attribute_name The name of an attribute.
+		 */
+		return apply_filters( 'block_bindings_source_value', $value, $this->name, $source_args, $block_instance, $attribute_name );
 	}
 
 	/**