Automattic\WooCommerce\Blocks\Utils

CartCheckoutUtils::update_blocks_with_new_attrs()public staticWC 1.0

Given an array of blocks, find the express payment block and update its attributes.

Метод класса: CartCheckoutUtils{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$result = CartCheckoutUtils::update_blocks_with_new_attrs( $blocks, $cart_or_checkout, $updated_attrs );
$blocks(массив) (обязательный) (передается по ссылке — &)
Blocks to search.
$cart_or_checkout(строка) (обязательный)
The block type to check.
$updated_attrs(массив) (обязательный)
The new attributes to set.

Код CartCheckoutUtils::update_blocks_with_new_attrs() WC 9.8.5

public static function update_blocks_with_new_attrs( &$blocks, $cart_or_checkout, $updated_attrs ) {
	$express_block_name = 'woocommerce/' . $cart_or_checkout . '-express-payment-block';
	foreach ( $blocks as $key => &$block ) {
		if ( ! empty( $block['blockName'] ) && $express_block_name === $block['blockName'] ) {
			$blocks[ $key ]['attrs'] = $updated_attrs;
		}

		if ( ! empty( $block['innerBlocks'] ) ) {
			self::update_blocks_with_new_attrs( $block['innerBlocks'], $cart_or_checkout, $updated_attrs );
		}
	}
}