• Как в wordpress добавить пользователю свой счет или "кошелек"?

    @kudry
    Я хочу сделать себе функционал, в котором:
    - пользователи имеют на счете "внутреннюю валюту" (которая им дается за разные действия на сайте).
    - пользователи могут оплачивать "внутренней валютой" часть стоимости покупок (например, до 40%). Причем лучше всего - если я для каждого продукта могу установить, какую его часть можно оплатить "баллами" (в каком-то продукте - 50%, а в каком-то всего 10%).

    Есть три готовых решения (Woocommerce Account Funds, CodeCanyon WPdeposit, YITH Account Funds ) кое-что из этого функционала делают, но не все:

    1) Система частичной оплаты баллами и деньгами:

    Woocommerce Account Funds - позволяет!!! платить за товар частично внутренней валютой (баллами), частично настоящей (рублями, долларами и т.д.), а в WPdeposit этого я не нашел.
    Видимо, это связано с тем, что Account Funds - это продукт самого Woocommerce - и под этот продукт они переделали корзину/оплату Woocommerce, добавив возможность частичной оплаты в сам магазин (а не в плагин).

    Это уже здорово, но к сожалению, в исходной конфигурации Account Funds нельзя поставить ограничения (напр баллами можно оплатить не более 30% стоимости), и тем более нельзя поставить ограничения для каждого продукта. Возможно, удастся "допилить" руками - и поставить ограничение на общий процент оплаты баллами (но для смены процента нужно будет переписывать код, что не айс). Индивидуальные ограничения по оплате каждого товара вшивать в код тоже наверное можно - но тогда придется переписывать код при каждой смене товаров ))) что уже совсем-совсем не айс.

    Пока, в Account Funds если я хочу оплатить часть цены баллами - Account Funds просто смотрит, сколько у меня баллов - и списывает максимальное число баллов, отнимая от стоимости корзины - а остальную часть стоимости корзины - предлагает оплатить какой-нибудь из установленных платежных систем живыми электронными деньгами.

    В WPdeposit еще хуже - при оплате товара - можно либо выбрать платежную систему (напр PayPal етс), либо оплату баллами - и соответственно либо всю стоимость товара оплатить только баллами, либо только деньгами.

    2) Начисление баллов.
    В обоих системах можно добавлять баллы "руками" админа сайта. Но это, конечно не айс вариант.
    Также в обоих системах пользователи могут "покупать баллы" за живые деньги (например, через PayPal).
    В WPdeposit также можно поставить возможность ВЫВОДА баллов в живые деньги (и тогда пользователи смогут получать за баллы живые деньги с вашего кошелька, например, в PayPal)) ну если вы хотите в такое играть.

    В WPdeposit более развитая система начисления баллов за стандартные действия. В консоли WPdeposit можно установить баллы за "стандартные действия" (типа написания комментария и др), а также добавлять дополнительные плагины, которые позволяют начислять баллы за другие действия. Я хочу давать баллы за совершенно другие действия (типа прохождения теста) - и это нужно уже допиливать руками. Но в описании к WPdeposit - просто прописаны операторы кода, которые это делают - их можно добавлять в код действий - и тогда баллы будут автоматически начисляться/списываться.

    В Account Funds не очень понятно, как можно автоматизировать "выдачу" баллов за действия на сайте.
    Но тоже можно, наверное, найти операторы и расставлять их в коде.

    C YITH Account Funds я пока не разбирался.
    Ответ написан
    Комментировать
  • Как прикрутить woocommerce к landing page?

    @kudry
    Да, я тоже голову ломал над этим!

    Вот текст на английском:
    https://wordimpress.com/build-woocommerce-powered-...

    Если коротко, то возможности:
    1)на страницу (Landing Page) можно поместить шорткоды от магазина - вместо которых будет появляться товар, идентификатор которого вы введете в шорткод.
    Который либо повторяет выдачу одного товара как в витрине магазина (то есть с магазинной кнопкой и т.д. - но только одного товара) - [product id="99"]
    2)Либо выдает целую страницу товара (и ее уже можно редактировать и сделать выдачу такой, как вы хотите - хотя это, подозреваю, изрядный гемор) - [product_page id="99"]

    но также можно
    3)Поставить под кнопками ссылки с зашитыми в них кодами, как это объяснено здесь,
    www.remicorson.com/add-woocommerce-variable-produc...
    и тогда по нажатию на кнопку пользователь будет отправлен в магазин (в корзину) оплачивать товар.

    А автор статьи при этом еще рекламирует свою систему "оплата без корзины" - но я не понял, как конкретно ее прикрутить, чтобы по кнопке люди переходили сразу к оплате (а не к корзине).

    4) создать страничку в Video Composer:
    https://www.youtube.com/watch?v=HSoxtYhTIE8
    Ответ написан
    Комментировать
  • Какое регулярное выражение подойдет для проверки номера телефона?

    @kudry
    Тоже столкнулся с проблемой валидизации телефонных номеров.
    Телефоны берутся с участников вебинаров, на которые записываются люди из очень разных стран.
    Соответственно, со всеми предыдущими схемами возникают проблемы:
    1) а что если телефон с Украины (не +7-, а +38-)? А из Казахстана? А США (1-)? А Уганда ( +233-)? (из Уганды, правда, пока слушателей не было, но все впереди).
    2)В разных местностях приняты самые невообразимые способы разбиения телефона на группы цифр:
    8(8888)8-88-88-88 например. или 888(88)88888-888. Да и какие угодно могут возникнуть в будущем.
    Поэтому вариант с "дефолтным разбиением типа "8(888)888-88-88 ну совершенно не катит.

    Соответственно, я придумал следующий валидатор:
    1) В начале могут быть пробелы, после них может быть "+" (а может и не быть)
    2) Дальше должна идти группа цифр в количестве от 10 до 14 (мне нужны номера в международном формате; но если кому-то нужны более короткие - можно исправить диапазон длин).
    3) Поскольку я не знаю, как люди группируют цифры - до и после каждой цифры может быть один из 8 знаков ("-", " ", "_", "(", ")", ":", "=", "+"). Это значит, что между двумя цифрами могут быть любые два из этих знаков.

    В итоге получилось очень коротко и понятно )) :
    /^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/

    Съедает следующие телефоны:
    +7(903)888-88-88
    8(999)99-999-99
    +380(67)777-7-777
    001-541-754-3010
    +1-541-754-3010
    19-49-89-636-48018
    +233 205599853
    Ответ написан
    1 комментарий