Additional button in Woocommerce shop page and archives

前端 未结 1 861
迷失自我
迷失自我 2020-12-07 03:28

I\'d like to add a button next to \"Add to Cart\" on the product page that adds \"-sample\" to the product URL when clicked.

Example:

You\'re viewing Produc

相关标签:
1条回答
  • 2020-12-07 04:03

    For woocommerce 3+ (only):

    In woocommerce 3 you will use woocommerce_after_shop_loop_item action hook instead, as the hook woocommerce_after_add_to_cart_button will not work anymore.

    add_action( 'woocommerce_after_add_to_cart_button', 'add_custom_button', 10, 0 );
    function add_custom_button() {
        global $product;
    
        $product_link = $product->get_permalink();
    
        $sample_link = substr($product_link, 0, -1) . '-sample/';
        echo '<a class="button alt btn-sample" href="' . esc_url( $sample_link ) .'">' . __( "Get a sample", "my_theme_slug" )  . '</a>';
    }
    

    Code goes on function.php file of your active child theme (or active theme). Tested and works.


    Before woocommerce 3:

    This is possible using hook woocommerce_after_add_to_cart_button to add your additional button on product pages, using this custom function:

    add_action( 'woocommerce_after_add_to_cart_button', 'add_custom_button', 10, 0 );
    function add_custom_button() {
        global $product;
    
        $product_link = get_permalink( get_the_id() );
    
        $sample_link = substr($product_link, 0, -1) . '-sample/';
        echo '<a class="button alt btn-sample" href="' . esc_url( $sample_link ) .'">' . __( "Get a sample", "my_theme_slug" )  . '</a>';
    }
    

    This code goes on function.php file of your active child theme or theme.

    This code is tested and fully functional.


    Based on this: Add a button after add to cart and redirect it to some custom link in WooCommerce

    And this: PHP - How to remove all specific characters at the end of a string?

    0 讨论(0)
提交回复
热议问题