bongzilla

Untitled

Feb 2nd, 2022 (edited)
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
jQuery 2.30 KB | None | 0 0
  1. <script>
  2. $(document).ready(function() {
  3.     /* breadcrumbs start */
  4.    
  5.     // .br-link - элемент с крошкой
  6.     const breadcrumbs = $(".br-link");
  7.  
  8.     breadcrumbs.each(function(idx, b) {
  9.         const breadcrumbText = b.innerText;
  10.         b.innerHTML = < span itemprop = \"name\">${breadcrumbText}</span>;
  11.     })
  12.  
  13.     const lastBreadcrumb = $(".br-text")[0]
  14.     if (lastBreadcrumb) {
  15.         const breadcrumbText = lastBreadcrumb.innerText;
  16.         lastBreadcrumb.innerHTML = < span itemprop = \"name\">${breadcrumbText}</span>;
  17.     }
  18.     /* breadcrumbs end */
  19.  
  20.     /* add itemprop on image start */
  21.  
  22.     // .post-div-blog img - применяется ко всем <img...
  23.     // внутри класса .post-div-blog
  24.     const postImages = $(".post-div-blog img");
  25.     postImages.each(function(idx, img) {
  26.         img.setAttribute("itemprop", "image");
  27.     });
  28.     /* add itemprop on image end */
  29.  
  30.     /* woocommerce price markup start */
  31.    
  32.     // если есть > 0 элементов с классом .variations
  33.     // значит это вариативный товар, если нет, то нет
  34.     const isVariable = $(".variations").length > 0;
  35.  
  36.     function replacer(match, p1, p2, offset, string) {
  37.         let price = p1.replace(" ", "");
  38.         return <bdi><span itemprop=\"price\" content=\"${price}\">${p1}</span>&nbsp;<span itemprop=\"priceCurrency\" class=\"woocommerce-Price-currencySymbol\">${p2}</span></bdi>
  39.     }
  40.  
  41.     if (isVariable) {
  42.         setTimeout(() => {
  43.             // .prod-div, внутри ищется элементы цены, стандартные для woocommerce
  44.             // менять надо только .prod-div, ниже в else блоке то же самое
  45.             const priceDiv = $(".prod-div .woocommerce-Price-amount").eq(0);
  46.             const oldMarkup = $(".prod-div .woocommerce-Price-amount")[0].innerHTML;
  47.             const newMarkup = oldMarkup.replace(/^<bdi>(.*)&nbsp;<span class="woocommerce-Price-currencySymbol">(.*)<\/span><\/bdi>/g, replacer);
  48.             priceDiv.html(newMarkup);
  49.  
  50.         }, 3000)
  51.     } else {
  52.         const priceDiv = $(".prod-div .woocommerce-Price-amount").eq(0);
  53.         const oldMarkup = $(".prod-div .woocommerce-Price-amount")[0].innerHTML;
  54.         const newMarkup = oldMarkup.replace(/^<bdi>(.*)&nbsp;<span class="woocommerce-Price-currencySymbol">(.*)<\/span><\/bdi>/g, replacer);
  55.         priceDiv.html(newMarkup);
  56.     }
  57.     /* woocommerce price markup end */
  58. })
  59. </script>
Add Comment
Please, Sign In to add comment