• Как программно изменить товарные запасы вариаций в Woocommerce?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    $variation = wc_get_product( $variation_id );
     $variation->set_stock_quantity($stock_quantity);
    Ответ написан
    2 комментария
  • Блокировка загрузки скрипта на сайте (как)?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    /**
     * функция добавляет код скрипта на страницу предварительно удаляя из него указанные куски текста, 
     * @param {string} 		url  полные URL добавляемого скрипта
     * @param {string} 		replaces массив со строками, которые будут удалены (заменены на пустоту)
     */
    function addScript( url , replaces=[]) {
      // получаем текст добавляемого на страницу скрипта
      fetch(url)
      .then(response=>{
        return response.text();
      })
      .then(text=>{
        // готовим регулярку для замены всех вхождени из массива replaces
        const restr = "("+replaces.join("|")+")";
        const regex = new RegExp(restr, "g");
        //  заменяем в тексте скрипта все вхождения из массива replaces
        const code = text.replace(regex,"");
    
        // получаем указатель на head страницы
        let head = document.getElementsByTagName( 'head' )[ 0 ];
        // создаем новый элемент script
        let script = document.createElement( 'script' );
        script.charset="utf-8";
        script.type = 'text/javascript';
        //script.src = url;
        script.innerHTML = code;
        // добавляем измененный скрипт на страницу
        head.appendChild( script );
      });
    }
    
    
    
    // Используем заготовку
    // например у нас есть сторонний скрипт, который нам надо добавить на страницу => https://external.domain/js/needed.js
    // но он запускаясь подгружает не нужные нам скрипты https://external.domain/js/unnecessary.js и https://external.domain/js/advertising.js
    // тогда делаем так
    addScript( 
      "https://external.domain/js/needed.js",
      [
        "unnecessary.js",
        "advertising.js"
      ]
    );
    
    // ну и на последок. Вы должны понимать что данное решение не панацея и его легко обойти
    // например "вредные" скрипты могут иметь случайносгенерированное имя
    // так же хочу предупредить, что данное решение будет сыпать ошибки в консоль, так как после удаления
    // из кода загружаемого скрипта строк с именами файлов вредных скриптов, код который их загружает 
    // не сможет этого сделать.
    // так же данный свособ может привести к частичной или полной неработоспособности полезного скрипта
    // например если полезный скрипт использует функции из подгружаемых вредных скриптов
    // или если в полезном скрипте есть переменные или функции с именами, аналогичными удаляемым скриптам
    // и т.д. и т.п.
    Ответ написан
    Комментировать
  • Разработка модулей для CMS, что посоветуете?

    @iliamrv
    IMHO сейчас больше востребованы javascript фреймворки. Если из CMS, то это наверное все еще Drupal и WordPress.
    Ответ написан
    Комментировать
  • Как сделать грамотный preload Css\JS для сайта под wp?

    Попробуйте абсолютно бесплатный плагин LiteSpeed Cache — он реально помогает с оптимизацией WP:
    Со стилями и скриптами: минификация, объединение, генерация Critical CSS (бесплатно, в отличии от остальных) асинхронная загрузка
    С изображениями: оптимизация, ленивая загрузка
    Со шрифтами: асинхронная загрузка
    А если ещё сайт перенести на хостинг с веб сервером LiteSpeed, то и кэшированием займется, на Apache вроде не работает кэширование.
    У меня с ним страницы грузятся за 0,4-0,6 сек и 1,2-1,6 на мобильных по данным PageSpeed Insight.
    Самое лучшее и удобное решение для WP, установил, один раз настроил и забыл. Работает как часы, сайты летают.
    Ответ написан
    3 комментария
  • Как сделать кнопку 18+ на сайт?

    Mr_Sergo
    @Mr_Sergo
    Хочу сделать кнопку на сайт 18+

    https://codepen.io/Mr_Sergo/pen/ymPYWq?editors=0010
    Ответ написан
    Комментировать