/*
Theme Name: Hello Elementor Child
Description: Child theme de Hello Elementor
Author: Adrián
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/
function hello_elementor_child_override_woocommerce_coming_soon() {

	$pattern_slug = 'woocommerce/coming-soon-store-only';

	/*
	 * Comprobar que el registro de patterns de WordPress está disponible.
	 */
	if ( ! function_exists( 'unregister_block_pattern' ) || ! function_exists( 'register_block_pattern' ) ) {
		return;
	}

	/*
	 * Comprobar que WooCommerce ha registrado su pattern.
	 */
	$registry = WP_Block_Patterns_Registry::get_instance();

	if ( ! $registry->is_registered( $pattern_slug ) ) {
		return;
	}

	/*
	 * Nuestro archivo personalizado.
	 */
	$pattern_file = get_stylesheet_directory() . '/patterns/coming-soon-store-only.php';

	if ( ! file_exists( $pattern_file ) ) {
		return;
	}

	/*
	 * Desregistrar el pattern original de WooCommerce.
	 */
	unregister_block_pattern( $pattern_slug );

	/*
	 * Cargar el contenido de nuestro pattern.
	 *
	 * El archivo PHP genera el HTML de los bloques.
	 */
	ob_start();

	include $pattern_file;

	$content = ob_get_clean();

	/*
	 * Registrar nuestro pattern utilizando el mismo slug
	 * que WooCommerce utiliza internamente.
	 */
	register_block_pattern(
		$pattern_slug,
		array(
			'title'      => 'Coming Soon Store Only',
			'description' => 'Coming Soon personalizado para Hello Elementor Child.',
			'categories' => array( 'woocommerce' ),
			'inserter'   => false,
			'content'    => $content,
		)
	);
}

add_action(
	'init',
	'hello_elementor_child_override_woocommerce_coming_soon',
	20
);