woocommerce_template_loop_add_to_cart()WC 1.0

Get the add to cart template for the loop.

Hooks from the function

Return

null. Nothing (null).

Usage

woocommerce_template_loop_add_to_cart( $args );
$args(array)
Arguments.
Default: array()

woocommerce_template_loop_add_to_cart() code WC 9.6.1

function woocommerce_template_loop_add_to_cart( $args = array() ) {
	global $product;

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

	$defaults = array(
		'quantity'              => 1,
		'class'                 => implode(
			' ',
			array_filter(
				array(
					'button',
					wc_wp_theme_get_element_class_name( 'button' ), // escaped in the template.
					'product_type_' . $product->get_type(),
					$product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '',
					$product->supports( 'ajax_add_to_cart' ) && $product->is_purchasable() && $product->is_in_stock() ? 'ajax_add_to_cart' : '',
				)
			)
		),
		'aria-describedby_text' => $product->add_to_cart_aria_describedby(),
		'attributes'            => array(
			'data-product_id'  => $product->get_id(),
			'data-product_sku' => $product->get_sku(),
			'aria-label'       => $product->add_to_cart_description(),
			'rel'              => 'nofollow',
		),
	);

	if ( is_a( $product, 'WC_Product_Simple' ) ) {
		$defaults['attributes']['data-success_message'] = $product->add_to_cart_success_message();
	}

	/**
	 * Filter to customize the arguments for the add to cart template for the loop.
	 *
	 * @param array $args Arguments.
	 *
	 * @since 2.4.11
	 */
	$args = apply_filters( 'woocommerce_loop_add_to_cart_args', wp_parse_args( $args, $defaults ), $product );

	if ( ! empty( $args['attributes']['aria-describedby'] ) ) {
		$args['attributes']['aria-describedby'] = wp_strip_all_tags( $args['attributes']['aria-describedby'] );
	}

	if ( isset( $args['attributes']['aria-label'] ) ) {
		$args['attributes']['aria-label'] = wp_strip_all_tags( $args['attributes']['aria-label'] );
	}

	wc_get_template( 'loop/add-to-cart.php', $args );
}