woocommerce_variable_add_to_cart()WC 1.0

Output the variable product add to cart area.

Hooks from the function

Returns

null. Nothing (null).

Usage

woocommerce_variable_add_to_cart();

woocommerce_variable_add_to_cart() code WC 10.9.4

function woocommerce_variable_add_to_cart() {
	global $product;
	static $attached_gallery_defaults = array();

	if ( ! ( $product instanceof WC_Product ) ) {
		return;
	}

	// Enqueue variation scripts.
	wp_enqueue_script( 'wc-add-to-cart-variation' );

	// Attach a reset snapshot only when variation-gallery swaps are enabled.
	if (
		\Automattic\WooCommerce\Internal\VariationGallery\Package::is_enabled() &&
		! isset( $attached_gallery_defaults[ $product->get_id() ] )
	) {
		wp_add_inline_script(
			'wc-add-to-cart-variation',
			sprintf(
				'(window.wc_variation_gallery_defaults = window.wc_variation_gallery_defaults || {})[%d] = %s;',
				$product->get_id(),
				wp_json_encode( wc_get_product_gallery_html( $product ) )
			),
			'before'
		);

		$attached_gallery_defaults[ $product->get_id() ] = true;
	}

	// Get Available variations?
	$get_variations = count( $product->get_children() ) <= apply_filters( 'woocommerce_ajax_variation_threshold', 30, $product );

	// Load the template.
	wc_get_template(
		'single-product/add-to-cart/variable.php',
		array(
			'available_variations' => $get_variations ? $product->get_available_variations() : false,
			'attributes'           => $product->get_variation_attributes(),
			'selected_attributes'  => $product->get_default_attributes(),
		)
	);
}