|
|
|
|
Maille plastique
Maille plastique

Des mailles plastiques pour protéger son intimité. Souples et semi rigides qui pour certaines se fondent dans la nature. Des produits de qualité au bon prix!

// вставити в footer або у кастомний JS файл (або через Appearance → Customize → Additional JS) (function(){ function replaceSearchTitle() { const sel = document.querySelector('.elementor-widget-theme-archive-title .elementor-heading-title'); if (!sel) return; // точне порівняння з початком рядка, без чутливості до регістру const oldPrefix = 'Search Results for:'; const txt = sel.textContent.trim(); if (txt.startsWith(oldPrefix)) { // отримуємо запит після префікса (якщо є) const rest = txt.slice(oldPrefix.length).trim(); sel.textContent = rest ? `Résultats de recherche pour: ${rest}` : 'Résultats de recherche pour'; } } // Виклик одразу replaceSearchTitle(); // Ставимо MutationObserver, на випадок якщо Elementor перерендерить блок const observer = new MutationObserver(function(mutations) { for (const m of mutations) { if (m.type === 'childList' || m.type === 'characterData') { replaceSearchTitle(); break; } } }); // спостерігаємо за body (легко) — можна звузити scope за потреби observer.observe(document.body, { childList: true, subtree: true }); })();
Tri
PRODUIT INDISPONIBLE
Liens de serrage verts de 20 cm, sachet de 25 pièces

2,00  TTC

/* Jarlinoa — correctif prix/photo des déclinaisons (remplace la logique de custom-product.js) custom-product.js lit data-product_variations et plante (variations.find is not a function) dès qu'un produit dépasse le seuil WooCommerce de 30 déclinaisons (mode AJAX : attribut = false), ce qui bloque aussi le handler natif WooCommerce. Ici on s'appuie sur les événements WooCommerce found_variation / reset_data, qui fonctionnent en mode inline ET en mode AJAX. */ (function () { function init() { if (!window.jQuery) { return setTimeout(init, 50); } var $ = window.jQuery; $(function () { var $form = $('form.variations_form'); if (!$form.length) { return; } // 1. Retire le handler défaillant de custom-product.js (sélecteur exact utilisé par ce script) $form.off('change', 'select[name^="attribute_"]'); // 2. Cibles dans le template Elementor "single product" (partagé par tout le site) var $price = $('.elementor-element-ecc7c52 .woocommerce-Price-amount').first(); if (!$price.length) { $price = $('h2.elementor-heading-title .woocommerce-Price-amount').first(); } var $img = $('.elementor-element-98b5914 img').first(); if (!$img.length) { $img = $form.closest('.elementor-section, .e-con, .elementor-location-single').find('.elementor-widget-image img').first(); } var priceHtml0 = $price.html(); var img0 = { src: $img.attr('src'), srcset: $img.attr('srcset') || '', sizes: $img.attr('sizes') || '' }; $form.on('found_variation', function (e, variation) { if (variation && variation.price_html && $price.length) { var $tmp = $('
').html(variation.price_html); var $amount = $tmp.find('ins .woocommerce-Price-amount').first(); if (!$amount.length) { $amount = $tmp.find('.woocommerce-Price-amount').first(); } if ($amount.length) { $price.html($amount.html()); } } if (variation && variation.image && variation.image.src && $img.length) { $img.attr({ src: variation.image.src, srcset: variation.image.srcset || '', sizes: variation.image.sizes || '' }); if (variation.image.alt) { $img.attr('alt', variation.image.alt); } } }); $form.on('reset_data', function () { if ($price.length) { $price.html(priceHtml0); } if ($img.length) { $img.attr(img0); } }); }); } init(); })();