Categories

Saturday, December 21, 2024
#919814419350 therichposts@gmail.com
WoocommerceWoocommerce HooksWordpressWordpress HooksWordpress Tricks

WooCommerce Single Product Page Change Add To Cart Button Text According to Variation Stock Quantity

WooCommerce Single Product Page Change Add To Cart Button Text According to Variation Stock Quantity

Hello guys how are you? Welcome back to my channel. Today in this post I am going to show you WooCommerce Single Product Page Change Add To Cart Button Text According to Variation Stock Quantity

Guys I have used both latest versions WordPress 6.3 and WooCommerce 8.1.

Live Demo

Guys if you are new in WordPress or in WooCommerce then please check the below links for some good tutorials:

  1. WooCommerce Hooks
  2. WordPress Tricks
  3. WordPress Hooks
WooCommerce Single Product Page Change Add To Cart Button Text According to Variation Stock Quantity
WooCommerce Single Product Page Change Add To Cart Button Text According to Variation Stock Quantity

Guys here is the working code snippet and please use it carefully:

1. Guys here is the code snippet and you need to add your theme’s functions.php file:

guys also I will make it with ajax and share that as well

// For all product variations (on a variable product)
add_action( 'woocommerce_after_add_to_cart_button', 'after_add_to_cart_button_action_callback', 0 );
function after_add_to_cart_button_action_callback() {
    global $product;

    if( $product->is_type('variable') ) :

    $data = [];

    // Loop through variation Ids
    foreach( $product->get_visible_children() as $variation_id ){
        $variation = wc_get_product( $variation_id );
        $data[$variation_id] = $variation->is_in_stock();
        
    }
    

    $outofstock_text = __("Sold Out", "woocommerce");
    ?>
    <script type="text/javascript">
    jQuery(function($){
        var b = 'button.single_add_to_cart_button',
            t = $(b).text();

        $('form.variations_form').on('show_variation hide_variation found_variation', function(){
            $.each(<?php echo json_encode($data); ?>, function(j, r){
                var i = $('input[name="variation_id"]').val();
                if(j == i && i != 0 && !r ) {
                    $(b).html('<?php echo $outofstock_text; ?>');
                    return false;
                } else {
                    $(b).html(t);
                }
            });
        });
    });
    </script>
    <?php
    endif;
}

This is it guys and if you will have any kind of query, suggestion or requirement then feel free to comment below.

Jassa

Developer’s King

Thanks

therichpost
the authortherichpost
Hello to all. Welcome to therichpost.com. Myself Ajay Malhotra and I am freelance full stack developer. I love coding. I know WordPress, Core php, Angularjs, Angular 19, MedusaJs, Next.js, Bootstrap 5, Nodejs, Laravel, Codeigniter, Shopify, Squarespace, jQuery, Google Map Api, Vuejs, Reactjs, Big commerce etc.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.