100% pure
Ayurveda Natural Jasmine Handmade Bathing Bar | Soap
Premium jasmine extracts and herbs sourced directly from farmers
100% pure
100% pure
Infused with pure jasmine for a calming, aromatic bathing experience.
MRP:
Original price was: ₹145.00.₹109.00Current price is: ₹109.00.
(25% off)
Tax included
<?php // Get the current product global $product; // Check if we're on a product page and have a product if (!is_product() || !$product) { return; } // Check if it's a variable product if (!$product->is_type('variable')) { return; } // Get variation data to access prices $variations = $product->get_available_variations(); $variation_prices = array(); // Find the 100ml and 200ml variations and their prices foreach ($variations as $variation) { $attributes = $variation['attributes']; // Check for size attribute if (isset($attributes['attribute_pa_size'])) { $size_value = $attributes['attribute_pa_size']; if (strpos($size_value, '100') !== false || strpos($size_value, '100-ml') !== false) { $variation_prices['100'] = $variation['display_price']; } elseif (strpos($size_value, '200') !== false || strpos($size_value, '200-ml') !== false) { $variation_prices['200'] = $variation['display_price']; } } } // Format prices with currency symbol $formatted_prices = array(); if (isset($variation_prices['100'])) { $formatted_prices['100'] = wc_price($variation_prices['100']); } if (isset($variation_prices['200'])) { $formatted_prices['200'] = wc_price($variation_prices['200']); } // Get current price (default to 100ML) $current_price = isset($formatted_prices['100']) ? $formatted_prices['100'] : ''; ?> <!-- Add a div to show the current price --> <div class="single-price-display"> <?php echo $current_price; ?> </div> <!-- Original size terms hidden but functional --> <div class="original-size-terms" style="position: absolute; opacity: 0; pointer-events: none; height: 0; overflow: hidden;"> <?php echo do_shortcode(''); ?> </div>
/* Hide the original price range in specific places */ .woocommerce-variation-price { display: none !important; } /* Price display styles */ .single-price-display { font-size: 24px; font-weight: 600; margin: 15px 0; display: block !important; } /* Make sure the 100 ML button appears selected by default */ .woocommerce div.product form.cart .button-variable-item[data-value="100-ml"], button[data-value="100-ml"], a[data-value="100-ml"], .button-wrapper [data-value="100-ml"], .size-option[data-value="100-ml"] { background-color: #333 !important; color: white !important; border-color: #333 !important; } /* Make sure both size buttons are clickable */ .button-variable-wrapper .button-variable-item, .button-wrapper button, .size-option { cursor: pointer !important; pointer-events: auto !important; } /* Remove any disabled styles */ .button-variable-item.disabled, button.disabled, .disabled { opacity: 1 !important; pointer-events: auto !important; }
document.addEventListener('DOMContentLoaded', function() { // Wait for the page to fully load setTimeout(function() { // Hide the original price range display const priceRanges = document.querySelectorAll('.price-range, .woocommerce-variation-price'); priceRanges.forEach(el => { el.style.display = 'none'; }); // Find price display element const priceDisplay = document.querySelector('.single-price-display'); // Pricing data from PHP const pricingData = { <?php if (isset($formatted_prices['100'])): ?> '100': '<?php echo addslashes($formatted_prices['100']); ?>', <?php endif; ?> <?php if (isset($formatted_prices['200'])): ?> '200': '<?php echo addslashes($formatted_prices['200']); ?>' <?php endif; ?> }; // Find size buttons/options - try multiple selectors const sizeOptions = document.querySelectorAll('.button-variable-item, [data-attribute="pa_size"] [data-value], .size-option, button[data-value]'); // Map sizes to their elements const sizeMap = {}; sizeOptions.forEach(option => { let sizeValue = option.getAttribute('data-value') || ''; if (sizeValue.includes('100')) { sizeMap['100'] = option; } else if (sizeValue.includes('200')) { sizeMap['200'] = option; } }); // Ensure the 100 ML option is selected by default if (sizeMap['100']) { // Force click the 100 ML button setTimeout(() => { try { sizeMap['100'].click(); } catch (e) { console.log('Could not click 100 ML option'); } }, 100); } // Add click handlers to update price display sizeOptions.forEach(option => { option.addEventListener('click', function() { const value = this.getAttribute('data-value') || ''; // Update styling for all buttons sizeOptions.forEach(btn => { btn.style.backgroundColor = ''; btn.style.color = ''; }); // Set styling for clicked button this.style.backgroundColor = '#333'; this.style.color = 'white'; // Update price based on selection if (value.includes('100') && pricingData['100']) { priceDisplay.innerHTML = pricingData['100']; } else if (value.includes('200') && pricingData['200']) { priceDisplay.innerHTML = pricingData['200']; } }); }); // Make sure variation form is initialized if (typeof jQuery !== 'undefined') { jQuery('form.variations_form').on('woocommerce_variation_has_changed', function() { // Get the current variation const variation = jQuery('input[name="variation_id"]').val(); if (variation) { // Check which size is selected const sizeValue = jQuery('select[name="attribute_pa_size"]').val() || ''; if (sizeValue.includes('100') && pricingData['100']) { priceDisplay.innerHTML = pricingData['100']; } else if (sizeValue.includes('200') && pricingData['200']) { priceDisplay.innerHTML = pricingData['200']; } } }); // Initialize form jQuery('form.variations_form').trigger('check_variations'); } // Create a hidden select for the size attribute if needed const variationForm = document.querySelector('.variations_form'); if (variationForm && !document.querySelector('select[name="attribute_pa_size"]')) { const sizeSelect = document.createElement('select'); sizeSelect.name = 'attribute_pa_size'; sizeSelect.style.display = 'none'; // Add options const option100 = document.createElement('option'); option100.value = '100-ml'; option100.text = '100 ML'; const option200 = document.createElement('option'); option200.value = '200-ml'; option200.text = '200 ML'; sizeSelect.appendChild(option100); sizeSelect.appendChild(option200); // Set default sizeSelect.value = '100-ml'; // Add to form variationForm.appendChild(sizeSelect); // Trigger change if (typeof jQuery !== 'undefined') { jQuery(sizeSelect).trigger('change'); } } }, 300); });
<?php // Get the current product global $product; // Check if we're on a product page and have a product if (!is_product() || !$product) { return; } // Check if it's a variable product if (!$product->is_type('variable')) { return; } // Get variation data to access prices $variations = $product->get_available_variations(); $variation_prices = array(); // Find the 100ml and 200ml variations and their prices foreach ($variations as $variation) { $attributes = $variation['attributes']; // Check for size attribute if (isset($attributes['attribute_pa_size'])) { $size_value = $attributes['attribute_pa_size']; if (strpos($size_value, '100') !== false || strpos($size_value, '100-ml') !== false) { $variation_prices['100'] = $variation['display_price']; } elseif (strpos($size_value, '200') !== false || strpos($size_value, '200-ml') !== false) { $variation_prices['200'] = $variation['display_price']; } } } // Format prices with currency symbol $formatted_prices = array(); if (isset($variation_prices['100'])) { $formatted_prices['100'] = wc_price($variation_prices['100']); } if (isset($variation_prices['200'])) { $formatted_prices['200'] = wc_price($variation_prices['200']); } // Get current price (default to 100ML) $current_price = isset($formatted_prices['100']) ? $formatted_prices['100'] : ''; ?> <!-- Add a div to show the current price --> <div class="single-price-display"> <?php echo $current_price; ?> </div> <!-- Original size terms hidden but functional --> <div class="original-size-terms" style="position: absolute; opacity: 0; pointer-events: none; height: 0; overflow: hidden;"> <?php echo do_shortcode(''); ?> </div>
/* Hide the original price range in specific places */ .woocommerce-variation-price { display: none !important; } /* Price display styles */ .single-price-display { font-size: 24px; font-weight: 600; margin: 15px 0; display: block !important; } /* Make sure the 100 ML button appears selected by default */ .woocommerce div.product form.cart .button-variable-item[data-value="100-ml"], button[data-value="100-ml"], a[data-value="100-ml"], .button-wrapper [data-value="100-ml"], .size-option[data-value="100-ml"] { background-color: #333 !important; color: white !important; border-color: #333 !important; } /* Make sure both size buttons are clickable */ .button-variable-wrapper .button-variable-item, .button-wrapper button, .size-option { cursor: pointer !important; pointer-events: auto !important; } /* Remove any disabled styles */ .button-variable-item.disabled, button.disabled, .disabled { opacity: 1 !important; pointer-events: auto !important; }
document.addEventListener('DOMContentLoaded', function() { // Wait for the page to fully load setTimeout(function() { // Hide the original price range display const priceRanges = document.querySelectorAll('.price-range, .woocommerce-variation-price'); priceRanges.forEach(el => { el.style.display = 'none'; }); // Find price display element const priceDisplay = document.querySelector('.single-price-display'); // Pricing data from PHP const pricingData = { <?php if (isset($formatted_prices['100'])): ?> '100': '<?php echo addslashes($formatted_prices['100']); ?>', <?php endif; ?> <?php if (isset($formatted_prices['200'])): ?> '200': '<?php echo addslashes($formatted_prices['200']); ?>' <?php endif; ?> }; // Find size buttons/options - try multiple selectors const sizeOptions = document.querySelectorAll('.button-variable-item, [data-attribute="pa_size"] [data-value], .size-option, button[data-value]'); // Map sizes to their elements const sizeMap = {}; sizeOptions.forEach(option => { let sizeValue = option.getAttribute('data-value') || ''; if (sizeValue.includes('100')) { sizeMap['100'] = option; } else if (sizeValue.includes('200')) { sizeMap['200'] = option; } }); // Ensure the 100 ML option is selected by default if (sizeMap['100']) { // Force click the 100 ML button setTimeout(() => { try { sizeMap['100'].click(); } catch (e) { console.log('Could not click 100 ML option'); } }, 100); } // Add click handlers to update price display sizeOptions.forEach(option => { option.addEventListener('click', function() { const value = this.getAttribute('data-value') || ''; // Update styling for all buttons sizeOptions.forEach(btn => { btn.style.backgroundColor = ''; btn.style.color = ''; }); // Set styling for clicked button this.style.backgroundColor = '#333'; this.style.color = 'white'; // Update price based on selection if (value.includes('100') && pricingData['100']) { priceDisplay.innerHTML = pricingData['100']; } else if (value.includes('200') && pricingData['200']) { priceDisplay.innerHTML = pricingData['200']; } }); }); // Make sure variation form is initialized if (typeof jQuery !== 'undefined') { jQuery('form.variations_form').on('woocommerce_variation_has_changed', function() { // Get the current variation const variation = jQuery('input[name="variation_id"]').val(); if (variation) { // Check which size is selected const sizeValue = jQuery('select[name="attribute_pa_size"]').val() || ''; if (sizeValue.includes('100') && pricingData['100']) { priceDisplay.innerHTML = pricingData['100']; } else if (sizeValue.includes('200') && pricingData['200']) { priceDisplay.innerHTML = pricingData['200']; } } }); // Initialize form jQuery('form.variations_form').trigger('check_variations'); } // Create a hidden select for the size attribute if needed const variationForm = document.querySelector('.variations_form'); if (variationForm && !document.querySelector('select[name="attribute_pa_size"]')) { const sizeSelect = document.createElement('select'); sizeSelect.name = 'attribute_pa_size'; sizeSelect.style.display = 'none'; // Add options const option100 = document.createElement('option'); option100.value = '100-ml'; option100.text = '100 ML'; const option200 = document.createElement('option'); option200.value = '200-ml'; option200.text = '200 ML'; sizeSelect.appendChild(option100); sizeSelect.appendChild(option200); // Set default sizeSelect.value = '100-ml'; // Add to form variationForm.appendChild(sizeSelect); // Trigger change if (typeof jQuery !== 'undefined') { jQuery(sizeSelect).trigger('change'); } } }, 300); });
125 gm
Handcrafted with Ayurvedic ingredients to nourish and rejuvenate skin.
Gentle, chemical-free formula suitable for all skin types.
Experience nature’s purity in every luxurious lather.
Description
Content goes here ..
Ingredients
Content goes here ..
Our Commitment
Our Commitment
What to expect
Content goes here ..
Description
Item dimensions L x W x H | 38 x 30 x 64 Millimeters |
Scent | Jasmine |
Age Range (Description) | Adult |
Skin Type | Normal,All Skin Types |
Item Package Quantity | 1 |
Product Benefits | Anti-Aging |
Special Feature | Cruelty Free, Vegan |
Item Form | Bar |
Material Feature | Natural, Vegan |
- SUITABLE FOR ALL AGE GROUPS AND ALL SKIN TYPES, NATURAL, VEGAN & CRUELTY FREE, HANDMADE SOAP FREE FROM CHEMICALS SUCH AS Paraben, Mineral Oils, Silicone, Synthetic Fragrance and Colour.
- COMPLETE BODY SOAP- helps in skin brightening, lightening dark spots, prevent wrinkles, fights body odour, alleviates aches, hydrates skin and distress your mind, body and soul.
- MAKE SKIN GLOW, SOFT AND SUPPLE | LONG LASTING JASMINE’S INVIGORATING AND SENSUAL AROMA | ANTI AGEING, REVITALIZES, REJUVENATES AND MAKE SKIN MORE RADIANT
- MADE WITH LOVE IN INDIA | FARM TO SHOWER- Premium jasmine extracts and herbs sourced directly from farmers
- START CARING FOR YOUR SKIN FROM TODAY – Dont make your skin wait for a luxury treatment.
Ingredients
Cruelty Free, Vegan
Reviews
There are no reviews yet