• Как правильно настроить mod rewrite?

    @Gedonist Автор вопроса
    Ответ найден благодаря @dodo512
    Помог вот такой код, вставленный перед редиректами WP:
    RewriteCond %{THE_REQUEST} "!^\S+ /check/"
    RewriteCond %{HTTP_REFERER} ^$
    RewriteCond %{HTTP:FROM} !(googlebot|yandex)
    RewriteRule .* https://jurist-arbitr.ru/check/ [R=302,END]
    Ответ написан
    Комментировать
  • Почему не приходит письмо о совершении заказа с Virtuemart3?

    @Gedonist
    Я столкнулся с подобной проблемой: новому заказу присваивается статус "в ожидании" (pending). При этом уведомления ни владельцу, ни клиенту не приходят. Но если поменять статус заказа, то уведомления приходят всем.
    на это влияют настройки VirtueMart "настройки-настройки-электронная почта". Там есть пункты:
    "Статус заказа по умолчанию для отправки эл.письма покупателю"
    "Статус заказа по умолчанию для отправки эл.письма продавцу"

    Решение 1
    Из коробки VirtueMart не позволяет туда добавить статус "в ожидании" (pending). Для того, чтобы это исправить, можно применить следующий хак:

    заходим в administrator/components/com_virtuemart/views/config/tmpl/ открываем default_email.php
    находим примерно такую строку:
    echo VmHTML::row('genericlist', 'COM_VIRTUEMART_CFG_OSTATUS_EMAILS_SHOPPER', $this->osWoP_Options, 'email_os_s[]', $attrlist, 'order_status_code', 'order_status_name', VmConfig::get('email_os_s', array('U', 'C', 'S', 'R', 'X')), 'email_os_s', true);

    Заменяем $this->osWoP_Options на $this->os_Options

    В опциях появляется возможность выбрать состояние "в ожидании" (pending) для отправки клиенту/владельцу. Меняем опции, profit!

    Решение 2
    Прописываем во всех способах оплаты, чтобы после "оплаты" статус заказа менялся на "подтверждён покупателем". В этом случае и без хака письма начнут приходить.

    Разумеется, все эти способы сработают только если система отправки писем настроена и работает, адрес отправителя совпадает с доменом сайта, и письма не складируются в спам.
    Ответ написан
    Комментировать
  • Почему не работают категории Virtuemart 3?

    @Gedonist
    Видимо, вам уже не актуально, но может кому-то ещё поможет.
    У меня была аналогичная проблема. Что только не делал, вплоть до развёртки нового сайта и переноса на него товаров.
    Судя по всему, решение в том, что у каждой категории товара должен быть свой пункт меню, который её выводит. Мне помогло разбивание иерархических категорий на обычные и создание для них собственных пунктов меню.
    Ответ написан
    Комментировать
  • Какой shared-хостинг поддерживает автоматическое подключение собственных сертификатов SSL?

    @Gedonist Автор вопроса
    Из трех хостингов, в которые обратился, только в Sweb ответили, что могут настроить мне бесплатный сертификат с автоматическим перевыпуском через API Letsencrypt. Настраивается через запрос в техподдержку.
    В hostaland за автоматический перевыпуск бесплатного сертификата берут абонентку каждый месяц..
    Ответ написан
    Комментировать
  • Как побороть циклический редирект на главной, при включении ЧПУ?

    @Gedonist Автор вопроса
    умных решений не обнаружил, снёс wp, установил заново, проблема исчезла
    Ответ написан
    Комментировать
  • Импрорт товаров в WooCommerce. Можно ли пересчитать цены при импорте?

    @Gedonist Автор вопроса
    Как и ожидалось, есть штатное решение "из коробки" в WP ALL Import Pro.
    Нашел здесь.

    Там два примера, на базе первого примера можно выкинуть слово "более" из поля кол-во. Делается добавлением вместо значения кол-ва выражения на PHP:
    [str_replace(",", "", {title[1]})]
    где вместо {title[1]} поля кол-ва.

    Увеличение цены делается через второй пример, добавления сторонней php функции в function editor при настройке импорта. Вот сама функция:
    function round_price( $price = null, $multiplier = 1, $nearest = .01, $minus = 0 ) {
        if ( !empty( $price ) ) {
    		// strip any extra characters from price
    		$price = preg_replace("/[^0-9,.]/", "", $price);
    		// perform calculations
            return ( round ( ( $price * $multiplier ) / $nearest ) * $nearest ) - $minus; 
        }
    }

    А в поле "цена" вызываем её с параметрами для конкретного значения, например вот так:
    [round_price({price[1]},"1.5","10",".01")]
    С помощью этой функции можно менять цену на заданный процент, округлять до нужного кол-ва знаков, и даже отнимать одну копейку, чтобы делать цену в формате 17,99$
    Ответ написан
    Комментировать