woocommerce_loop_add_to_cart_link filter-hookWC 8.7.0

Filters the add to cart button class.

Usage

add_filter( 'woocommerce_loop_add_to_cart_link', 'wp_kama_woocommerce_loop_add_to_cart_link_filter', 10, 3 );

/**
 * Function for `woocommerce_loop_add_to_cart_link` filter-hook.
 * 
 * @param string $class   The class.
 * @param        $product 
 * @param        $args    
 *
 * @return string
 */
function wp_kama_woocommerce_loop_add_to_cart_link_filter( $class, $product, $args ){

	// filter...
	return $class;
}
$class(string)
The class.
$product
-
$args
-

Changelog

Since 8.7.0 Introduced.

Where the hook is called

ProductButton::render()
woocommerce_loop_add_to_cart_link
woocommerce/src/Blocks/BlockTypes/ProductButton.php 195-229
return apply_filters(
	'woocommerce_loop_add_to_cart_link',
	strtr(
		'<div class="wp-block-button wc-block-components-product-button {classes} {custom_classes}"
			{div_directives}
		>
			<{html_element}
				href="{add_to_cart_url}"
				class="{button_classes}"
				style="{button_styles}"
				{attributes}
				{button_directives}
			>
			<span {span_button_directives}> {add_to_cart_text} </span>
			</{html_element}>
			{view_cart_html}
		</div>',
		array(
			'{classes}'                => esc_attr( $text_align_styles_and_classes['class'] ?? '' ),
			'{custom_classes}'         => esc_attr( $classname . ' ' . $custom_width_classes . ' ' . $custom_align_classes ),
			'{html_element}'           => $html_element,
			'{add_to_cart_url}'        => esc_url( $product->add_to_cart_url() ),
			'{button_classes}'         => isset( $args['class'] ) ? esc_attr( $args['class'] . ' wc-interactive' ) : 'wc-interactive',
			'{button_styles}'          => esc_attr( $styles_and_classes['styles'] ),
			'{attributes}'             => isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : '',
			'{add_to_cart_text}'       => esc_html( $initial_product_text ),
			'{div_directives}'         => $is_ajax_button ? $div_directives : '',
			'{button_directives}'      => $is_ajax_button ? $button_directives : '',
			'{span_button_directives}' => $is_ajax_button ? $span_button_directives : '',
			'{view_cart_html}'         => $is_ajax_button ? $this->get_view_cart_html() : '',
		)
	),
	$product,
	$args
);
woocommerce/templates/loop/add-to-cart.php 24-36
echo apply_filters(
	'woocommerce_loop_add_to_cart_link', // WPCS: XSS ok.
	sprintf(
		'<a href="%s" data-quantity="%s" class="%s" %s>%s</a>',
		esc_url( $product->add_to_cart_url() ),
		esc_attr( isset( $args['quantity'] ) ? $args['quantity'] : 1 ),
		esc_attr( isset( $args['class'] ) ? $args['class'] : 'button' ),
		isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : '',
		esc_html( $product->add_to_cart_text() )
	),
	$product,
	$args
);

Where the hook is used in WooCommerce

Usage not found.