Check variation change to update stock status

Check variation change to update stock status

File main.js

$( ".single_variation_wrap" ).on( "show_variation", function ( event, variation ) {
		//get text from hidden field at function tzn meta
		// console.log(variation);
		
		var stock_status = variation.stock_status;
		var is_purchasable = variation.is_purchasable;
		
		// //Function check Variation Stock
		// var variation_id = variation.variation_id;
		// var check_stock = "1";
		// console.log(variation.stock_status);
		// console.log(variation.is_purchasable);
		check_variation_stock(stock_status, is_purchasable);
		// var url_ajax = $('input[name="ajax_url"]').val();
		
	});

	//Function check Variation Stock
	 function check_variation_stock(stock_status, is_purchasable){
		var text_in_stock = $("#text_in_stock_ct").val();
		var text_out_stock = $("#text_out_stock_ct").val();
		var text_back_order = $("#text_back_order_ct").val();

		
		if(stock_status == 'instock'){
			$(".tzn-product-meta span.availability").text(text_in_stock);
			$(".tzn-product-meta span.availability").addClass("is_in_stock");
			$(".tzn-product-meta span.availability").removeClass("is_out_stock");

			$(".tzn-product-meta span.not-availability").text(text_in_stock);
			$(".tzn-product-meta span.not-availability").addClass("is_in_stock");
			$(".tzn-product-meta span.not-availability").removeClass("is_out_stock");

			$(".tzn-product-meta.tzn-product-meta-shipping").show();

		}else if(stock_status == 'outofstock' && is_purchasable){
			$(".tzn-product-meta span.availability").text(text_back_order);
			$(".tzn-product-meta span.availability").addClass("is_out_stock");
			$(".tzn-product-meta span.availability").removeClass("is_in_stock");

			$(".tzn-product-meta span.not-availability").text(text_back_order);
			$(".tzn-product-meta span.not-availability").addClass("is_out_stock");
			$(".tzn-product-meta span.not-availability").removeClass("is_in_stock");
			$(".tzn-product-meta.tzn-product-meta-shipping").hide();
		}
		// else {
		// 	$(".tzn-product-meta span.availability").text(text_out_stock);
		// 	$(".tzn-product-meta span.availability").removeClass("is_in_stock");
		// 	$(".tzn-product-meta span.availability").addClass("is_out_stock");


		// 	$(".tzn-product-meta span.not-availability").text(text_out_stock);
		// 	$(".tzn-product-meta span.not-availability").removeClass("is_in_stock");
		// 	$(".tzn-product-meta span.not-availability").addClass("is_out_stock");

		// 	$(".tzn-product-meta span.shipping").hide();
		// }
	}	

Meta customize

$items = apply_filters('tzn-product-meta', $items, $product);
if ($items) :
    echo '<div class="tzn-product-meta tzn-product-meta2">';

    foreach ($items as $item) :

        echo '<span class="' . $item['name'] . '">' . $item['icon'] . ' ' . $item['text'] . '</span>';

    endforeach;
     //This text using for js check variation stock
    $text_in_stock = __("Verfügbar", "tzn");
    $text_out_stock = __("Ausverkauft", "tzn");
    $text_back_order = __("Aktuell nicht verfügbar", "tzn");
    echo '<input type="hidden" value="' . $text_in_stock . '" id="text_in_stock_ct" />
          <input type="hidden" value="' . $text_out_stock . '" id="text_out_stock_ct" />
             <input type="hidden" value="' . $text_back_order . '" id="text_back_order_ct" />';
    echo '</div>';
endif;
return $items;

Leave a Reply

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