Плагин Art WooCommerce Order One Click включает режим каталога и заказать в один клик

В данной статье приводится подробное описание моего плагина для включения режима каталога и не только. Плагин называется Art WooCommerce Order One Click не совсем корректное название, но уже так назвал. Давайте подробно расскажу про настройки и как работает сие мое творение.

к содержанию

Как это работает?

Плагин работает только в связке с плагинами WooCommerce и Contact Form 7. В плагине предусмотрены проверки на наличие этих плагинов, если их нет, то и плагин Art WooCommerce Order One Click (AWOOC) не запуститься.

Внимание!
Для корректной работы плагина требуется версия PHP 5.6

При удалении плагина, все значения настроек будут удалены. Как и положено по правилам хорошего тона.

В плагине предусмотрено три режима работы:

к содержанию

Режим каталога

В данном режиме на страницах рубрик и самого магазина отключены кнопки «Добавить в корзину». На странице товара кнопка «Добавить в корзину» скрыта через стили и появляется кнопка «Заказать»

Внешний вид страницы архива товаров в режиме каталога
Внешний вид страницы архива товаров в режиме каталога
Внешний вид страницы товара в режиме каталога
Внешний вид страницы товара в режиме каталога
к содержанию

Режим кнопки Купить

В данном режиме кнопка «Добавить в корзину» работает в штатном режиме, то есть товары можно добавить в корзину. Ну и на архивах тоже все штатно.

Внешний вид страницы товаров в режиме включенной кнопки Купить
Внешний вид страницы товаров в режиме включенной кнопки Купить

Не совсем понял, зачем нужен такой режим, но подписчики попросили — сделал. Может быть в каких-то случаях он и нужен.

к содержанию

Режим работы с запасами

Специальный режим работы. Кнопка Заказать с всплывающим окном появляется только при управлении запасами. Причем только на тех товарах, где нулевые остатки.

Тут надо уточнить, в WooCommerce есть три статуса:

Последний статус неверно переведен, более правильно будет —  предзаказ.
  • В наличии (in stock)
  • Нет в наличии (out of stock)
  • В невыполненом заказе (on backorder)

Причем, эти статусы по разному работают, в зависимости включено управление запасами на уровне товара или нет.

Управление запасами на уровне товаров
Управление запасами на уровне товаров

Если включено управление на уровне товара, то в общей таблице будут показываться и количество товаров, если нет, то просто статусы.

Возвращаясь к плагину. В режиме работы с запасами кнопка Заказать появиться автоматически, если:

  • не указана цена товара
  • статус запасов В невыполненом заказе
  • статус запасов Нет в наличии, включено управление запасами на уровне товара и разрешены предзаказы

В остальных случаях кнопка Заказать не появиться в этом режиме

к содержанию

Создание заказов

В плагине реализован функционал создания заказов при отправке письма. Но для корректной работы требуется правильна настройка форм в плагине Contact Form 7.

Как использовать?

После установки и активации плагина, требуется проделать следующие шаги.

Шаг первый. Создание и настройка форм в Contact Form 7

Создание формы стандартное, а вот настройка нет. После установки плагина AWOOC в настройках форм появиться дополнительная кнопка

Специальная кнопка скрытого поля, для отправки данных
Специальная кнопка скрытого поля, для отправки данных

С помощью этой кнопки вставляем скрытое поле.

Важно!
Eсли это поле не добавить, то в письме не будут приходить данные о товаре.

Далее стандартным образом добавляем нужные поля, например мы хотим от пользователя получать: имя, email и телефон.

Добавление полей в Contact Form 7
Добавление полей в Contact Form 7

Для правильной работы создания заказов, очень важно чтобы имена полей были только такими

  • поле текст «Ваше имя» — awooc-text
  • поле email  «Ваш email» — awooc-email
  • поле телефон «Ваш телефон» — awooc-tel
Важно!
Eсли имена полей будут другими, то заказ будут создаваться с пустыми данными

Вот и все, теперь добавляем наши поля в форму письма

Добавление полей в тело письма в плагине Contact Form 7
Добавление полей в тело письма в плагине Contact Form 7

На этом настройку формы можно закончить

к содержанию

Шаг второй. Настройка функционала кнопки

Настройки плагина находятся по адресу WooCommerce → Настройки → вкладка Основные. Выбираем нужный режим работы и если нужно меняем надпись на кнопке.

Настройки плагина AWOOC
Настройки плагина AWOOC
  1. Выбор режима работы. Подробно про режимы смотри выше. По умолчанию работает режим каталога и кнопка «Купить» скрыта
  2. Выбор формы. Выбирается нужная форма. По умолчанию добавляется самая новая форма
  3. Надпись на кнопке. Можно поменять надпись на собственную. По умолчанию написано «Заказать»
  4. Выключить элементы окна. Можно выключить не нужные элементы всплывающего окна. Например, не нужно показывать артикул, просто убираете элемент «Артикул» из списка и всё. По умолчанию все элементы включены.
  5. Включить создание заказов. Данная опция включает создание заказов в WooCommerce. По умолчанию настройка выключена
к содержанию

Скачать плагин

Скачать плагин Art WooCommerce Order One Click можно по прямой ссылке c GitHub

Изменения

= 1.6.6 =
* Добавлена проверка на версию php
* Добавлена ссылка на настройки в списке плагинов
* Добавлена ссылка на статью в описании плагина
* Изменен второй режим работы, теперь кнопка Купить работает в штатном режиме
* Исправлены ошибки стилей
= 1.6.5 =
* Добавлено определение распродажной цены
* Исправлены ошибки стилей
= 1.6.4 =
* Добавлена отправка цены товара в скрытом поле
* Добавлены описания строк в скрытом поле для отправки в письме
* Изменено скрытие цены
* Исправлены ошибки
= 1.6.3 =
* Исправлены ошибки
= 1.6.2 =
* Добавлено появление кнопки Заказать, если нет цены у товара, в режиме управления запасами
* Исправлена логика появления кнопки Заказать при управлении запасами
* Исправлены ошибки
= 1.6.1 =
* Исправлена ошибка использования отмененной функции
= 1.6.0 =
* Добавлена адаптивность окна
* Добавлена кнопка закрытия окна
* Добавлено отключение кнопки Купить в Похожих и Апселлах
* Добавлен функционал создания заказов
* Добавлена настройка включения/выключения созданием заказов
* Добавлены комментарии к коду
* Изменены настройки режимов работы, теперь три режима
* Изменены настройки по умолчанию при выводе элементов окна
* Исправлено скрытие кнопки Купить
* Исправлены ошибки
= 1.5.3 =
* Исправлены ошибки
= 1.5.2 =
* Исправлены ошибки
* Добавлено удаление опций при деинсталяции
= 1.5.1 =
* Исправлены ошибки
= 1.5.0 =
* Добавлена настройка управления режимом каталога
* Добавлена настройка управления отображением элементов в попап окне
* Добавлена настрока управления надписью на кнопке
* Добавлена отправка артикула
* Исправлены ошибки
= 1.4.0 =
* Добавлена кнопка при редактировании формы Contact Form 7
* Добавлены настройки для управления формами
* Обновлены проверки на наличие плагинов
* Исправление ошибок
= 1.3.0 =
* Обновление настроек
* Исправление ошибок
= 1.2.0 =
* Обновление настроек
= 1.1.0 =
* Обновление функций
* Добавление проверок
* Добавление настроек
= 1.0.0 =
* Релиз
к содержанию

Поддержать плагин

Если вам понравился плагин, то вы можете в денежной форме поддержать дальнейшую разработку и обновление плагина

Выводы

Вот такой плагин получился. Пробуйте, тестируйте, пользуйтесь.

Напишите в комментариях, как вам плагин. А может еще что надо прикрутить. Пишите, в общем…

Всем удачи! И делитесь статьей и плагином с друзьями

P.S. Кстати, на сайте появились курсы, те что на YouTube.

43 комментариев
  • Михаил

    05.05.2018

    Большое спасибо за плагин , а как можно сделать что бы в карточке товара работало обе кнопки (добавить в корзину и заказать)

  • Maksym

    05.05.2018

    Спасибо Артем, круто! Недавно клиент просил что-то подобное. Думаю будет скоро возможность протестировать плагин.

  • Анатолий

    06.05.2018

    Настроил все работает, но письмо приходит без цены. Смысл в том чтобы заказы обрабатывать из почты, не используя раздел заказы в админке. Как-то можно цену настроить?

    • Артем

      13.05.2018

      Обновите версию, все цены должны приходить

  • Алекскей

    13.05.2018

    Добрый день, Артём! На Flatsome версии 3.5.1 версия этого плагина 1.6.5 не активируется. Выдает ошибку.

    • Артем

      13.05.2018

      Добрый! Какую именно ошибку?

  • Алекскей

    15.05.2018

    Вопрос закрыт, была старая версия PHP. Сейчас всё работает.

    • Артем

      31.05.2018

      Отлично! Обновите версию плагина, там есть изменения

  • Mansur

    07.06.2018

    Добрый день. Спасибо большое за плагин.
    Вопрос в следующий как вывести кнопку купить в разделе категории где список товаров ?
    Перепробовал все режимы, но в каталоге кнопка не выводится. Может есть какой нибудь хук ?
    Буду благодарен за подсказку

    • Артем

      13.06.2018

      Добрый! Где-то уже отвечал на этот вопрос. Нигде, плагин не предусматривает работу с архивами, ну том виде, что есть сейчас

  • Виталий

    15.06.2018

    Добрый день, Артём!
    Большое спасибо за плагин.
    Давно искал такой плагин.
    Ваш плагин оказался даже лучше некоторых западных вариантов и решении с созданием просто попапов с контактными формами.
    Платные плагины заказа в 1 клик, которые тестировал на демо-сайтах тоже не подходили, а Ваш подошел)
    Понравилась функциональность, попапы с изображение товара и адаптивность.
    Заказы в Woocommerce создаются.
    Артём, несколько предложений по плагину.
    Сделайте, пожалуйста, чтобы можно было настраивать: цвета, стиль, кнопки и расположение (Над кнопкой «Добавить в корзину», под кнопкой «Добавить в корзину», слева, справа, над количеством товара, после названия товара.
    Я хотел назвать кнопку «Заказать в 1 клик», но пришлось назвать кнопку «Заказ», т.к. кнопка «слилась» с кнопкой «Добавить в корзину» в одну кнопку.
    После того, как назвал кнопку «Заказ» на ПК она отображается нормально, а на смартфоне с экраном 3.5 дюйма кнопка очень близко «прилипает» к кнопке «Добавить в корзину».
    На почту не приходит название заказанного товара и нужно заходить в раздел «Заказы» в Woocommerce, чтобы посмотреть, какой товар заказал клиент.
    Можно добавить в переменные «awooc» для «Contact Form 7» переменные, в которых будет задаваться название товара и цена, чтобы после каждого заказа не заходить в консоль WP для проверки заказа в Woocommerce.
    С уважением. Виталий.

    • Артем

      17.06.2018

      Добрый! Подобные проблемы во многом зависят от темы, проверял на 5 темах и там все ровно. Охватить все тем не получиться просто физически.
      Настройки добавить можно, но это уже больше платный функционал. Больно можно факторов придется учитывать. Вы готовы платить 10-15 долларов?

  • Виталий

    15.06.2018

    Артём, напишите, пожалуйста, где, в каких CSS-классах и что прописать, чтобы можно поменять положение кнопки?
    Мне нужно кнопку расположить под кнопкой «Добавить в корзину» с отступом, чтобы кнопка не «сливалась» с одну кнопку.
    С уважением. Виталий.

    • Артем

      17.06.2018

      На кнопке есть класс awooc-custom-order можно через него попробовать. Ну и все через хуки сделано, можно попереключать при желании. Только я не проверял это момент и не знаю как работать будет

      • Виталий

        22.06.2018

        Спасибо за ответ.
        Адаптивность, размеры и положение кнопок смог подправить через плагин «YellowPencil».
        Теперь все отображается, как надо)

        • Артем

          01.07.2018

          О, спасибо, гляну что за плагин такой

  • Дмитрий

    19.06.2018

    Здравствуйте!
    Настроил плагин с вашими рекомендациями — кнопки не в 1 из вариантов в каталоге в карточке товара не появляется, т.е. не работает. PHP и 5,6 и 7,0 — также не работал (не отображается кнопка). С чем может быть связана проблема? С шаблоном?

    • Артем

      01.07.2018

      Доброго! Скорее всего тема такая. Как тема называется?

  • Евгений

    25.07.2018

    Спасибо за плагин!

    Выявился след баг: если на странице карточки товара есть другие формы CF7, то при их отправке создается пустой заказ woocomerce/

    • Артем

      26.07.2018

      Пожалуйста! А зачем на странице товара другие формы? С несколькими формами не тестировал, надо будет проверить

      • Евгений

        26.07.2018

        Ну в данном случае есть еще заявка на тест драйв (через PopUp). И я полагаю, если добавить обратный звонок через PopUp будет такая же ситуация.

        • Артем

          05.08.2018

          А форма одна и та же используется или разные?

          • Евгений

            06.08.2018

            Формы разные

          • Артем

            07.08.2018

            Хм, ок. Проверю этот момент

  • Сергей

    07.08.2018

    Добрый день Артем!

    Отличный плагин, спасибо.
    Делаю сайт, где заказчик хочет одновременно и кнопку «Добавить в корзину» и «Купить в один клик»
    Вы удивлялись но есть и такие.

    Но как всегда «чего то не хватает», а именно хотелось бы дополнительно:

    1.передавать в «Создание заказов»
    1.1.Адрес доставки товара(сейчас не передается)
    1.2.Количество товара(сейчас все время 1 товар)

    2.передавать в Письмо Количество товара(сейчас не передается)

    По п.1.1 в файл awooc-template-functions.php, по аналогии с Именем, Email и Телефоном, пытался добавить следующие строчки кода(ниже телефона):
    $user_passed_addr = esc_attr( $_POST[‘awooc-addr’] );
    ‘address_1’ => $user_passed_addr,

    В форме — код
    [textarea* textarea-904 awooc-addr placeholder «Адрес доставки*»]

    Результат — отрицательный.

    Если можно, подскажите в каком направлении двигаться.

    • Артем

      07.08.2018

      Доброго! Так всегда, чего-то всегда не хватает)

      1. Откуда взять адрес доставки, если на странице товара его нет? Эти данные только на чекауте появляются, а до него дело-то не доходит) Как вариант — делать дополнительное поле в форме, чтобы пользователь данные вводил. Ну если это поле как у вас написано, то должно уходить, только имя не правильно не указали, и данные в заказ не будут записываться. Могу посмотреть, может там фильтр можно поставить, для подобных данных и добавления их в заказ

      2. Теоретически количество можно передавать, но откуда его брать? По логике — количество на корзине уже получается, но это совсем другая история, можно конечно значение поля Количество подтягивать, но это же не точные данные будут и пользователь не сможет их изменить, например нажал случайно, а всё, данные ушли

      Как-то так, вижу выход только если объяснить клиенту, что так делать не надо)) Ну как вариант

  • Сергей

    07.08.2018

    п.2 понял — спасибо!
    п.1″ должно уходить, только имя не правильно не указали, и данные в заказ не будут записываться.» — прошу пояснить что не правильно указал?
    У меня в форме дополнительное поле — Адрес доставки, код поля в форме
    [textarea* textarea-904 awooc-addr placeholder «Адрес доставки*»]

    Не понятно, что не правильно?

    • Артем

      07.08.2018

      В шорткоде [textarea* textarea-904 awooc-addr placeholder «Адрес доставки*»] лишнее название поля
      или так
      [textarea* textarea-904 placeholder «Адрес доставки*»]
      или так
      [textarea* awooc-addr placeholder «Адрес доставки*»]

  • Сергей

    07.08.2018

    или так
    [textarea* awooc-addr placeholder «Адрес доставки*»] — заработало!!!

    Огромное спасибо!

  • Александр

    29.08.2018

    Здравствуйте. Подскажите, как можно вывести кнопку вручную в шаблоне, шаблон нестандартный и кнопка вылезает справа от основной, а надо бы над основной.

    • Артем

      01.09.2018

      Добрый! Кнопка формируется функцией awooc_html_custom_add_to_cart(), а выводиться через этот хук. Можно переключить на другой хук или выводить на этом же хуке, но раньше чем выводиться кнопка.
      Только кнопку не выносите из формы, иначе может перестать работать

  • Андрей

    31.08.2018

    Артем, подскажите, пожалуйста, как быстро на десктопе сделать отоброжение всплывающего окна в одну колонку? Чтобы как на мобильном отображались данные.

    • Артем

      01.09.2018

      Только стили править. Вот тут поставить 100%

  • Сергей

    10.09.2018

    А если заморочится и количество можно подтянуть вариативностью товара, муторно, долго но можно.

    • Артем

      12.09.2018

      Если количество будет вариацией, то оно и так должно подтсянуться. Но как добавить количество уже придумал, надо только реализовать)

  • Андрей

    12.09.2018

    Артем, такая проблема:
    Режим каталога
    Во всплывающей форме заказа отображается заголовок другого товара.
    Причем при перезагрузке страницы заголовок всегда разный, но только не тот, который должен быть.
    На почту, соответственно, приходит тоже не тот товар, с которого отправляется форма.

  • Андрей

    12.09.2018

    Сейчас обратил внимание, что в форме отображаются заголовки из блока Похожие товары.
    Как это исправить можно, оставив рекомендательный блок на странице?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *
php js HTML CSS Code