wppaste
WordPress

WP_Block_Bindings_Source

Since
6.5.0
Source
wp-includes/class-wp-block-bindings-source.php:20
Class representing block bindings source.

Description

This class is designed for internal use by the Block Bindings registry.

Compatibility

WordPress
since 6.5.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Hooks and filters fired · 1

Every hook that fires from inside WP_Block_Bindings_Source, in the order it appears in the class, grouped by the method that fires it.

Properties · 4

$namestringpublic
The name of the source.
$labelstringpublic
The label of the source.
$get_value_callbackcallableprivate
The function used to get the value from the source.
$uses_contextstring[]|nullpublic
The context added to the blocks needed by the source.

Methods · 3

  • __construct()Constructor.
  • get_value()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.
  • __wakeup()Wakeup magic method.

Source code

final class WP_Block_Bindings_Source { 	/**	 * The name of the source.	 *	 * @since 6.5.0	 * @var string	 */	public $name; 	/**	 * The label of the source.	 *	 * @since 6.5.0	 * @var string	 */	public $label; 	/**	 * The function used to get the value from the source.	 *	 * @since 6.5.0	 * @var callable	 */	private $get_value_callback; 	/**	 * The context added to the blocks needed by the source.	 *	 * @since 6.5.0	 * @var string[]|null	 */	public $uses_context = null; 	/**	 * Constructor.	 *	 * Do not use this constructor directly. Instead, use the	 * `WP_Block_Bindings_Registry::register` method or the `register_block_bindings_source` function.	 *	 * @since 6.5.0	 *	 * @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;		foreach ( $source_properties as $property_name => $property_value ) {			$this->$property_name = $property_value;		}	} 	/**	 * 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.	 * @return mixed The value of the source.	 */	public function get_value( array $source_args, $block_instance, string $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 );	}

Changelog

Introduced in 6.5.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-includes/class-wp-block-bindings-source.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.