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.
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.