woocommerce_loop_add_to_cart_link
Filters the loop add-to-cart link HTML.
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 $link The add-to-cart link HTML.
* @param WC_Product $product The product object.
* @param array $args Arguments used to build the link.
*
* @return string
*/
function wp_kama_woocommerce_loop_add_to_cart_link_filter( $link, $product, $args ){
// filter...
return $link;
}
- $link(string)
- The add-to-cart link HTML.
- $product(WC_Product)
- The product object.
- $args(array)
- Arguments used to build the link.
Changelog
| Since 2.0.0 | Introduced. |
Where the hook is called
In file: /templates/loop/add-to-cart.php
woocommerce_loop_add_to_cart_link
woocommerce/templates/loop/add-to-cart.php 35-48
echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- The public filter intentionally allows extensions to return link markup. 'woocommerce_loop_add_to_cart_link', 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 );
woocommerce/src/Blocks/BlockTypes/ProductButton.php 318-323
$html = apply_filters( 'woocommerce_loop_add_to_cart_link', $html, $product, $args );