External Product Button Change

User
we have to type of product external and inter and change add to cart button at shop to link for external product detail page
Assistant
To achieve this functionality in WooCommerce, where you want to replace the **Add to Cart** button with a link to the external product's detail page for external products on the shop page, you can use the following approach:

### Steps:

1. **Identify Product Type**
WooCommerce identifies external products by the product type `external`.

2. **Hook into WooCommerce Loop**
Use the `woocommerce_loop_add_to_cart_link` filter to modify the button or link displayed for external products.

3. **Replace the Button**
Check the product type in the loop and display the appropriate button or link.

### Code Example

Add the following code to your theme's `functions.php` file:

add_filter('woocommerce_loop_add_to_cart_link', 'custom_add_to_cart_button_for_external', 10, 2);

function custom_add_to_cart_button_for_external($button, $product) {
    if ($product->is_type('external')) {
        // Get the external product URL
        $product_url = $product->get_product_url();

        // Customize the button HTML
        $button = sprintf(
            '<a href="%s" target="_blank" rel="nofollow" class="button">%s</a>',
            esc_url($product_url),
            esc_html__('View Product', 'woocommerce') // Customize the button text
        );
    }

    return $button;
}

### Explanation

1. **Hook Used**: `woocommerce_loop_add_to_cart_link` is used to filter the "Add to Cart" button for products in the shop loop.
2. **Product Type Check**: `$product->is_type('external')` checks if the product is of type `external`.
3. **Get External URL**: `$product->get_product_url()` fetches the external URL set in the product settings.
4. **Customize Button**: The button is replaced with an “ tag linking to the external product URL.

### Outcome

– For **external products**, the "Add to Cart" button will be replaced with a "View Product" link.
– The link will open the external URL in a new tab.

### Notes

– Make sure you have set the product type to **External/Affiliate** and added the external URL in the product settings.
– You can customize the button text and styling as per your theme requirements.

Leave a Comment

Your email address will not be published. Required fields are marked *