Buy one click WooCommerce

Плагин Заказать в один клик для WooCommerce

Официальное название плагина «Buy one click WooCommerce»
И так появилась задача на некоторых сайтах организовать возможность заказа «В один клик» или как в некоторых интернет магазинах эта кнопка называется — кнопка «Быстрого заказа». В результате некоторых манипуляций получился плагин или расширение для WordPress с установленным WooCommerce — «Buy one click WooCommerce».
Возможности плагина довольна скромные:
1) Первое и самое важное — он абсолютно бесплатен.
2) Для кого-то это будет достоинство, а для кого то недостаток, но плагин имеет свою базу по заказам и не интегрирован в общую базу заказов WooCommerce.
3) Есть система статусов. Сделано для того что бы понимать какой заказ менеджер магазина отработал, а какой еще нет.
3) Возможность настройки отображения полей и их названий.
4) Для тех кто в «коде» — код имеет комментарии и в принципе поддается изменениям без глубокого его познания. (Всего в плагине три основных класса: Класс для работы с JavaScript, базовый класс — организация настроек плагина и страниц, класс функционала — прочий php код и функционал).
5) CSS формы и кнопки разнесены в отдельные файлы, можно менять на вкус и цвет.
6) Есть уведомления на email о заказе, как для клиента, так и для менеджера
— Письма уходят только в HTML с скромной таблицей и данными о заказе
— Письма отправляются только через функцию wp_mail, от отдельного smtp было решено отказаться. Но отсутствие smtp вы можете компенсировать любым плагином WordPress поддерживающим замену стандартного вызова wp_mail на свою функцию.

По ряду причин плагин апробирован только на версии WordPress 4.1 и последней версии WooCommerce.
В качестве выбора расположения кнопки «купить в один клик» использованы стандартные хуки WooCommerce, позволяющие менять положение кнопки относительно карточки товара.

Ссылка на скачивание на сайте WordPress
Ниже, плагин «заказать в один клик» — «Buy one click WooCommerce», в картинках.

Обновление 1.1 от 9.06.2015
* Исправлены некоторые ошибки в работе плагина
* Добавлена опция включения/отключения показа кнопки
* Добавлены опции «обязательные поля»
— Теперь поля можно отмечать как обязательные для заполнения

* Добавлены варианты поведения формы при отправке заказа
-Вариант «Ни чего не делать», всё по старому
-Вариант «Закрыть через указанное количество мсек»
-Вариант «Показать всплывающее сообщение и закрыть»
-Вариант «Сделать перенаправление на произвольный URL»
* В Шаблон email сообщения добавлены ФИО и Телефон клиента
-Если ФИО или Телефон не получены — тогда пустые поля
(Шаблон сообщения можно поправить под себя в файле «inc/function-class.php» имя метода «htmlEmailTemplate»)
* CSS формы заказа «css/button21.css» и «css/form.css»
* CSS дополнительного сообщения «css/formmessage.css»

Обновление 1.2 от 14.06.2015
Добавлена поддержка отправки смс при совершение заказа. Поддерживаемый шлюз СМСЦ
SMS-центр


Обновление 1.3 от 25.08.2016

1) Форма быстрого заказа теперь не присутствует в html страници постоянно, а подгружается по запросу через ajax

2) Ссылка на глобальный обработчик ajax берётся из вашего сайта, ранее ссылка была жёстко указанна.

3) Новая опция в общих настройках, теперь все новые заказы могут дублироваться в общую таблицу заказов Woocommerce. Запись в таблицу плагина — не отключаемая опция.

4) Введение опции с добавлением быстрого заказа в таблицу Woo, позволяет использовать стандартный механизм отравки писем Woo клиенту о новом заказе.


Обновление 1.4 от 08.09.2016

1) Новая опция вывода кнопки купить в категории товара
2) Некоторые переработки функций
3) Появилась возможность вывести кнопку при помощи шорткода

Итак пока первый опытный шорткод «Кнопка купить»[viewBuyButton] Шорткод кнопки нужно вставлять в циклах вывода товара, где возможно получить ID товара. При этом Шорткод загружает для себя стили и скрипты,а кнопка «купить» будет показана даже если у вас выключена галочка «Включить показ кнопки»


Обновление 1.5 от 14.06.2017

  1. 1) Новый шорткод
    2) Правка мелких и вредных ошибок
    PS: в комментарии по существу!

Скачать бесплатный плагин покупки в один клик для WooCommerce

PS: Продажа плагина для WordPress «Купить в один клик» или выдача его за свою разработку запрещена.

 

816 thoughts on “Плагин Заказать в один клик для WooCommerce

  1. Хотелось бы иметь возможность в форме заказа указывать количество товара. Или я не могу найти ее?

    1. Добрый день!
      В голову приходит сразу что то вроде
      jQuery(document).on(«click»,»тут селектор кнопки»,function(){
      //Здесь вызов события метрики

      return false;

      });

      И поместить это добро в подвал сайта

  2. Добрый день, нужна помощь. Необходимо, чтобы при вызове popup окна, его html код оказывался перед закрывающимся тегом . Куда капать?

  3. Здравствуйте! мне нравится ваш плагин. Только одна есть проблема. в категориях товара при нажатие заказать в 1 клик окно открывается не на весь экран, а в окне товара.

  4. Djo, добрый день.
    В первую очередь спасибо за хороший продукт.

    Подскажи пожалуйста, а возможно ли выводить «форму для быстрого заказа» с данными о товаре, не отправляя ajax запрос — как-то долговато идет ответ с сервера. Хочется быстрее выводить форму.

    1. Добрый день! Одна из предыдущих версия плагина работала по этому принципу. Кажется ещё в версии 1.2 можно найти требуемый функционал. Репозитарий WP хранит эту версию. https://plugins.trac.wordpress.org/browser/buy-one-click-woocommerce?rev=1180696#trunk
      Возьмите содержимое парпки trunk и замените им содержимое папки с плагином у вас на сайте.(лучше конечно на тестовом сайте)

  5. Добрый день!

    Необходимо на поле телефон повесить маску ввода. Подскажите, что для этого нужно сделать?

    1. Добрый день!
      Подключите к шаблону сайта библиотеку jQuery «Maskedinput»
      И вызовите в шаблоне $(«#phone»).mask(«8(999) 999-9999»); где #phone селектор поля ввода телефона

  6. Хорошая работа Djo!
    В работе с ним нахватает несколько тонкостей:
    1 — если товар в наличии, то «Купить» иначе «Заказать»
    2 — при формировании заказа статус не «В обработке», а «Ожидание оплаты» (в идеале конечно иметь возможность выбрать в настройках плагина)

  7. Здравствуйте! на мобильных телефонах поп окно очень большое. как его уменьшить? так как когда наживаешь чтобы написать номер выходит клавиатура мобильного и она закрывает таблицу, где надо вводить телефон. как уменьшить окно ввода телефона?

    1. Добрый день! Вы можете отредактировать один из выбранных вами шаблонов плагина. В папке плагина есть папка с css файлами формы, поправьте их под ваш сайт и вкус.

  8. Добрый день!

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

    В чем может быть ошибка и как ее можно исправить.

    Ошибка в консоле появляется следующая:

    Failed to load resource: the server responded with a status of 404 (Not Found)
    POST /wp-admin/admin-ajax.php 500 (Internal Server Error)

    XHR failed loading: POST /wp-admin/admin-ajax.php

    1. Добрый день! С путями до файла у вас на сайте кажется всё верно, предполагаю что устарела какая-то функция в плагине. Т.е PHP стал выкидывать предупреждение что функция устарела, из-за этого нормального ответа на ajax не просиходит. Если у вас есть возможность, выключите вывод сообщений от php, всё кроме warning и error.

  9. Здравствуйте! Плагин шикарный, вот не могу догнать, как включить доп.поле. Вернее включить могу, но на почту приходит письмо без значения в доп.поле. Подскажите как этот момент исправить? Спасибо

    1. Добрый вечер!
      Начните с файла \wp-content\plugins\buy-one-click-woocommerce\inc\javascript-class.php — найдите кусок кода вида
      $message = array(            'time' => $time,            'url' => '<a href="' . get_the_permalink($idtovar) . '" target="_blank" rel="nofollow">Посмотреть</a>',            'price' => $pricetovar,            'nametov' => $nametovar,            'namemag' => $namemag,            'dopinfo' => $dopiczakaz,            'fon' => $txtphone,            'fio' => $txtname,);
      Допишите его до вида
      $message = array(            'time' => $time,            'url' => '<a href="' . get_the_permalink($idtovar) . '" target="_blank" rel="nofollow">Посмотреть</a>',            'price' => $pricetovar,            'nametov' => $nametovar,            'namemag' => $namemag,            'dopinfo' => $dopiczakaz,            'fon' => $txtphone,            'fio' => $txtname,            'dop_pole'=>$dopinfo            );
      Далее зайдите в файл wp-content\plugins\buy-one-click-woocommerce\inc\function-class.php и найдите кусок кода
      static function BuyEmailNotification($to, $subject, $message) {
      Здесь после строчки
      $fio = $message['fio'];
      Впишите
      $dop_pole=$message['dop_pole'];
      Далее чуть ниже в строки
      wp_mail($to, $subject, self::htmlEmailTemplate($namemag, $date, $urltovar, $price, $nametovar, $dopinfo, $fon, $fio), $headers);
      допишите переменную до следующего вида
      wp_mail($to, $subject, self::htmlEmailTemplate($namemag, $date, $urltovar, $price, $nametovar, $dopinfo, $fon, $fio,$dop_pole), $headers);
      Далее найдите ниже измените строку
      static function htmlEmailTemplate($namemag, $date, $urltovar, $price, $nametovar, $dopinfo, $fon, $fio) {
      До вида
      static function htmlEmailTemplate($namemag, $date, $urltovar, $price, $nametovar, $dopinfo, $fon, $fio,$dop_pole) {
      и уже ниже в этой же функции можете дописать отправку данного нового поля на почту
      добавив блок по аналогии с другими, примерно вот так
      <td style="border-color: #132cba; text-align: center; vertical-align: middle;">Доп инфа </td><td style="border-color: #132cba; text-align: center; vertical-align: middle;"> '.$dop_pole.' </td>

  10. Проблема с ajax: при отправке формы в ответе admin-ajax.php error 63.
    В консоли Uncaught SyntaxError: Unexpected token e in JSON at position 0

        1. Спасибо.
          Еще есть предложение сделать popup и overlay скрывающимися по классу, вместо хардкода с css в js. Кроме того это гибче — можно использовать несколько способов появления\скрывания + эффекты.

        2. спасибо за плагин. помогите разобраться что не так:
          в базу заказов падают заказы клиентов где вместо телефона, имени и мейла — три раза имя…
          и в базе плагина заказов нет-только в woocommerce.
          и поп-ап окно не исчезает после «заказать», клиент тискает пока не догадывается закрыть крестиком.

          помогите пожалуйста.

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

      1. Оставил одно поле для ввода (текстовое) вместо имени — указал поле для телефона. При заказе в админке заказ с тремя телефонами вместо имени, мейла и телефона. Ну хоть телефон есть. И после заказа поп-ап окно не закрывается и клиенты по несколько раз кликают заказать

  12. Не приходят уведомления о новом заказе.
    Почтовый ящик поля FROM на домене магазина.
    Отправка почты настроена через SMTP (плагин «WP Mail SMTP» https://ru.wordpress.org/plugins/wp-mail-smtp).
    Тестовые письма с него приходят, а заказ в один клик не хочет!
    <:-((

    Помогите разобраться.

  13. Подскажите, когда можно ожидать исправленное обновление?
    А то заказчик душит, требует указать сроки.
    Не хочется городить «костыли»… <:-((

    1. Добрый день! Попробуйте ради теста прям в коде плагина «Быстрого заказа» подключить вызов отправки почты не через wp_mail (там кажется в двух местах он вызывается)

  14. Добрый день. Спасибо огромное за плагин и за его обновление!
    подскажите, пожалуйста, как разместить кнопку рядом с ценой (Woocommerce, Storefront).
    если можно, пошагово.
    заранее спасибо

  15. Добавили опцию выбора расположения кнопки, но первые два варианта (над кнопкой количества и во вкладке описания) не работают.

    1. Возможно они не на всех шаблонах работают. Лучше всего подгонять кнопку при помощи css до нужного места.

  16. Добрый день! Хороший плагин, работает заказ отправляет, я их в админке вижу, но ставлю настройки типа закрыть поп-ап но он остается на месте и не закрывается, и сообщение нигде не выводится типа «ваш заказ принят». Где может быть конфликт или ошибка?

    1. Добрый день!
      Попробуйте на сайте выключить вывод уведомлений и предупреждений от интерпретатора php.

  17. Добрый день. Спасибо за плагин!
    Есть проблема, не работает если включить галочку Записывать заказы в таблицу Woocommerce
    После клика Заказать ничего не происходит, форма открытая остаеться
    Если в админке плагина галочку убрать все работает отлично

  18. Здравствуйте!
    Спасибо, плагин работает, но есть небольшое НО!
    товары есть «простые», а есть «вариативный товар» — в них можно указывать разные цвета товара
    на обычных товарах кнопка присутствует, но вариативных нет…
    как можно поправить ? вручную ?

          1. И то что Павел пишет — у меня тоже при включенной кнопке — не отправляется запрос.

          2. Ошибку смог решить, что бы записывалось в базу заказов нужно добавить поле email и при его заполнении будет записывать как новый заказ. ура!

          3. По этой ссылке сайт на движке Bitrix, там другие принципы используются. Что вы имеете ввиду под доработкой?

          4. Нужно чтобы при клике Заказать в 1 клик — такого же вида окно всплывало

  19. Так вы сможете помочь в данной ситуации? я выше описал проблему. Что мне предоставить еще?

          1. Так, давайте отталкиваться от другого. По какому URL вы попадает в админку сайта? Адрес https://fitness-svensson.ru/wp-admin/admin-ajax.php не должен выдвать ошибку 403 Forbidden
            Может у вас есть доступ только с вашего ip? Хостинг у вас бегет, он по умолчанию сам такие правила на файлы и директории не ставит.

    1. Спасибо, все заработало, я ставила защиту по IP и видимо поэтому кнопка не работала. По поводу окна — сможете сделать такое же ну или примерно такое же?

  20. У меня в логе ошибка Failed to load resource: the server responded with a status of 500 (Internal Server Error)
    файл wp-includes/js/jquery.js

  21. В логе нашел такую строчку [21-Mar-2018 17:31:46 UTC] The get_product function is deprecated since version 3.0. Replace with wc_get_product.
    [21-Mar-2018 17:31:46 UTC] PHP Fatal error: Uncaught exception ‘WC_Data_Exception’ with message ‘Неверный адрес эл. почты для выставления счета’ in /var/www/admin/www/site.com/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-data.php:753

    А какой нужно email писать?

    1. Недавно разбирался с этой проблемой.
      В плагине не совсем корректно генерируются служебные заголовки письма.
      Кириллический subj нужно кодировать в UTF8.
      C русскими именами в поле from тоже проблема, правда кодирование не помогало, по этому оставил там только e-mail адрес.
      Некоторые почтовики типа яндекса принимают письма такие нормально, но гугл и мэйл.ру их «проглатывают».

  22. Скажите, а можно реализовать чекбоксы? Типа такого?))

    И как реализовать отправку из на email?

  23. Скажите, а можно реализовать чекбоксы? Типа такого?))
    ……input type=»radio» value=»по Москве» name=»check[]….
    И как реализовать отправку и[ на email?

  24. Доброго времени суток, такая проблема, что при клике на кнопку заказать ничего не происходит, вернее происходит, но не то что нужно. Просто появляется заглушка,и прокручивает на самый верх страницы. Если смотреть в панели разработчика href=»#».Подскажите пожалуйста решение проблемы. Заранее благодарен!!!

    1. Добрый день! У вас кажется где то js ломается. Консоль браузера показыват вот этот кусок кода » $(«#wcps-171»).owlCarousel({«

  25. Хороший плагин но нельзя использовать — клиент не видит свой заказ через Мой аккаунт — заказы
    Если это магизин цифровых товаров то ппц… В остальном все хорошо)

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

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