Search code examples
wordpresswoocommercecart

Woocommerce: Replace products Add to cart element <a> with <button>


on main page I have products grid and I have add to cart button with such code

<a href="/?add-to-cart=2609" data-quantity="1" class="button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="2609" ...

I want to replace it with button

<button data-quantity="1" class="button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="2609" ...

How could I?


Solution

  • You should to add the "woocommerce_loop_add_to_cart_link" filter inside functions.php

    add_filter( 'woocommerce_loop_add_to_cart_link', 'loop_add_to_cart_link_change_tag', 10, 3 );
    function loop_add_to_cart_link_change_tag( $link_code, $product, $args ) {
        $r = array(
            '<a '  => '<button ',
            '</a>' => '</button>'
        );
        return strtr($link_code, $r);
    }