woocommerce_loop_add_to_cart_link
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
woocommerce/src/Blocks/BlockTypes/ProductButton.php 232-265
$html = apply_filters( 'woocommerce_loop_add_to_cart_link', strtr( '<div {wrapper_attributes} {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( '{wrapper_attributes}' => $wrapper_attributes, '{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}' => $is_ajax_button ? '' : $product->add_to_cart_text(), '{div_directives}' => $is_ajax_button ? $div_directives : '', '{button_directives}' => $is_ajax_button ? $button_directives : $anchor_directive, '{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 26-39
echo apply_filters( 'woocommerce_loop_add_to_cart_link', // WPCS: XSS ok. sprintf( '<a href="%s" %s data-quantity="%s" class="%s" %s>%s</a>', esc_url( $product->add_to_cart_url() ), $aria_describedby, 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 );