Automattic\WooCommerce\Blocks

BlockTypesController::has_block_variation()privateWC 1.0

Check if the current post has a block with a specific attribute value.

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

Хуков нет.

Возвращает

true|false.

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

// private - только в коде основоного (родительского) класса
$result = $this->has_block_variation( $block_id, $attribute, $value );
$block_id(строка) (обязательный)
The block ID to check for.
$attribute(строка) (обязательный)
The attribute to check.
$value(строка) (обязательный)
The value to check for.

Код BlockTypesController::has_block_variation() WC 9.3.3

private function has_block_variation( $block_id, $attribute, $value ) {
	$post = get_post();

	if ( ! $post ) {
		return false;
	}

	if ( has_block( $block_id, $post->ID ) ) {
		$blocks = (array) parse_blocks( $post->post_content );

		foreach ( $blocks as $block ) {
			if ( isset( $block['attrs'][ $attribute ] ) && $value === $block['attrs'][ $attribute ] ) {
				return true;
			}
		}
	}

	return false;
}