n-wp.ru — блог о WordPress

WP Creator Calculator – плагин создает формы калькулятора

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

Плагин имеет возможности создавать следующие поля:

Текстовой блок — любой текст, возможно использовать HTML тем самым позволяя форме калькулятора принимать любое оформление

Выпадающий список — список SELECT

Чекбокс — список чекбоксов

Радио кнопки — список Radio-Buttons

Вводимое поле — текстовое поле позволяющее вводить цифровые значения со стороны посетителя вашего сайта

Hidden поле — скрытое поле, возможно задать цену скрытому полю

WP Creator Calculator

Принципе работы полей:
поля формируют формулу вида:

поле1 + поле3 + (поле 2 * поле 4)

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

Разберем по порядку возможности каждого поля:
Текстовой блок
Отображаемый текст (возможен html) — тут все понятно, можно вписать все что угодно
Порядок — порядок сортировки по возрастанию, относительно других полей
CSS — произвольный CSS класс для данного поля

Выпадающий список, Чекбокс, Радио кнопки
Название поля — отображаемый текст рядом с формой
До поля — действие перед полем
После поля — действие после поля
Порядок — порядок сортировки по возрастанию, относительно других полей
Значения списка — список задается таким образом: [цена]:название; пример — [3900]:Создание сайтов;[1800]:SEO оптимизация;[400]:Express анализ; если нужно оставить пустое то вписываем [0]:;
CSS — произвольный CSS класс для данного поля

Вводимое поле
Название поля — отображаемый текст рядом с формой
До поля — действие перед полем
После поля — действие после поля
Порядок — порядок сортировки по возрастанию, относительно других полей
Цена — стоимость поля, введенная цена с действием на введенные данные со стороны пользователя
Действие — связанное поле с ценой, это действие означает что мы делаем с введенными данными со стороны посетителя сайта
CSS — произвольный CSS класс для данного поля
p.s. приведу простой пример для поля: Указываем цену 300, указываем действие умножить *. Теперь если посетитель вашего сайта введет в поле числовые данные то они будут умножены на 300 (х*300)

Hidden поле
До поля — действие перед полем
После поля — действие после поля
Порядок — порядок сортировки по возрастанию, относительно других полей
Цена — стоимость поля
p.s. к примеру мы хотим незаметно для посетителя уже включить стоимость доставки товара или прочие услуги, это поле невидимое для посетителя

У калькулятора есть несколько настроек:

Настройки калькулятора
Название кнопки — кнопка расчета, пример: Рассчитать
Текст возле итога — текст перед итоговой суммой
CSS — полный web адрес до файла стилей, все классы которые вы указываете для полей нужно включить в ваш css файл и прописать для него путь вида: http://www.вашсайт.ru/путь_до_стиля/файл.css хотя вы можете указать классы в файле стилей вашей темы

Административная функциональность калькулятора:

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

Формула, отображение всех добавленных вами полей, если нужно отредактировать просто вбивайте нужные для вас данные и нажимайте справа кнопку ключа , если нужно удалить жмите крестик

Текстовая формула вычислений полей — отображаются действия и ваш порядок сортировки

Предварительный просмотр калькулятора — примерный вид того как на данном этапе создания выглядит ваш калькулятор

Как вставить калькулятор:
Есть два простых способа, вставить в код шаблона или вставить в запись
Код для шаблона:
Шорткод в контент страницы: [wpcalculator]

Стандартные CSS свойства калькулятора:

Стоит принять во внимание:
Если пользователь оставил какое либо поле пустым, то к его значению автоматически присваивается 0
Помните, что делить на 0 нельзя, иначе скрипт выведет ошибку Warning: Division by zero in…

Установка:
1. Скачать плагин — http://wordpress.org/extend/plugins/wp-creator-calculator/
2. Закачать в папку плагинов вашего сайта wp-content/plugins/
3. Активировать плагин
4. Слева в меню административной панели выберите пункт WP Calculator
5. Настраивайте свой калькулятор.

Есть вопросы? спрашивай в комментариях!

zetrider

Кодинг, дизайн, wordpress

57 комментариев

  • Код для шаблона вырезался

  • Доброго дня zetrider!
    Очень здорово, что вы написали подобный плагин! Огромное Вам спасибо за проделанную работу.
    Хотел бы спросить. я вот сделал 2 чекбокса с данными о цене и названии. При попытке калькулировать естественно у меня выходит вот такое:

    Цену я указал 500.
    Куда необходимо вносить действия которое мы собираемся производить с числами.

    ??
    И не предусмотрено ли указание количества товара?

  • так же Checkbox может быть не только из 1 значения но и из нескольких, пример:
    [500]:Монтаж окон;[700]:демонтаж окон;

  • Спасибо. Разобрался.
    Еще раз вопрос с количеством. Чтобы допустим указать некоторое количество элементов придется делать так? :
    [100]:Окно 1шт; [200]:Окно 2шт; [300]:Окно 3шт;
    и указывать например чекбокс с нужным количеством элементов?

  • тогда лучше не Checkbox а Radio Button, иначе посетитель сайта сможет выбрать несколько вариантов…
    лучше объясните что вы в итоге хотите посчитать, какая должна быть формула, так сложно понять как лучше сделать именно для вас.

    К примеру есть несколько типов окон, у каждого типа есть своя цена
    создаем радио кнопки [100]:Окно 1 тип; [200]:Окно 2 тип; [300]:Окно 3тип;

    дальше можно создать Вводимое поле куда посетитель сможет указать сколько ему нужно выбранных окон

    в итоге

    тип окна (действие) введенные данные

  • Ну я пытаюсь добиться подобной формы [img]http://www.pictureshack.ru/images/5503tochechnyi_risunok.JPG[/img]
    чтоб можно было указать количество элементов.

  • Для того чтобы можно было указывать количество ручками нужно использовать
    Вводимое поле — описание есть в статье

    здесь нужна формула расчета, просто картинка не пойдет :)

    увы я не знаком с тематикой ваших расчетов, что на что должно умножаться складываться делиться ?

  • Попробую все описать :)
    Наш объект с ценой например окна, должен умножаться на количество необходимое человеку. Объектов подобных окнам будет несколько. Человек указывает все необходимые ему данные и далее с учетом количества идет расчет стоимости :)
    Формула получается та же, что и вы в водили в примере вводимого окна цена[500] x количество [3] и далее идет сложение всех строк с объектами.
    вот пример калькулятора http://k-most.com/index.php?dir=12&num=0

    С вводимым окном не разобрался.

  • Все равно не понятно как вы хотите считать данные
    напишите пример:

    количество мобильных устройств * (персонал+транспорт+другие механизмы) и так далее

    тогда я смогу вам показать скрин подробной формула калькулятора

    p.s. вообще в вашем случае все делается через «Вводимое поле»

  • Мне кроме названия продукта и количества вообще больше ничего не нужно :)
    только лишь это.

    [продаваемый объект]*[количество] — вот так :)

    С «Вводимым полем» так и не разобрался. Как он устроен если объектов в калькуляторе много. и Куда что подставлять.

  • Плагин обновлен до версии 1.1:
    Упрощен код плагина
    По умолчанию язык английский (иностранцы ругаются)
    Присутствует русский перевод
    В настройках добавлена возможность задавать текст после итоговой суммы
    Исправлены мелкие недочеты

  • Обновлен до версии 2.1:
    * Исправлены чекбоксы, теперь работают корректно (!Внимание! К Чекбоксам добавлено действие между выбранными значениями);
    * Добавлена возможность просматривать полный рассчет передаваемых данных. Для отображения нужно в шорткод добавить новый параметр: [wpcalculator idcalc=»ID» show_result=»true»]

  • В след. версии плагина (скоро) ожидается:
    To Do:
    * на одноу страницу можно размещать несколько калькуляторов;
    * предупреждение при дублировании сортировочных значений;
    * запоминать результаты в сессию (поле по отдельности или сумму калькулятора);
    * подставлять значение из сессии в формулу;
    * echo для сессии в текстовом блоке;
    * условия в формуле для каких либо действий… (еще только идея…)
    * что сделать еще? пишите в комментарии.

    После подумаю над введенными данными, скорее всего так же будут записываться в $_SESSION, а уже своим скриптом вы сможете записывать их в базу или отправлять данные из массива по e-mail

  • скажите каким образом можно засунуть этот калькулятор в виджеты? оч нужно. Спасибо заранее.

  • если очень надо, то в след обновлении сделаю
    пока что можете в код файла sidebar.php вставить шорткод следующим образом:

    • Ещё у меня проблема в админке сайта сверху после активации плагина почему-то висит следующее сообщение
      Warning: session_start() [function.session-start]: Cannot send session cache limiter — headers already sent (output started at /home/e/entersis/ontechnica.ru/public_html/wp-admin/includes/template.php:1657) in /home/e/entersis/ontechnica.ru/public_html/wp-content/plugins/wp-creator-calculator/wp-creator-calculator.php on line 64
      как от него избавиться?

  • Да есть такая ошибка, в след версии плагина будет исправлено, временное решение удалить из файла плагина wp-creator-calculator.php строки:

  • Плагин крутой, все наглядно, просто. Не могли бы вы подсказать, возможно ли использовать предустановленные данные (если цена уже есть для каждого условия — [1 a ], [2 a] ,[1b], [2b])
    У вас описан ассоциативный массив, но не совсем ясно как можно использовать такие записи?
    Спасибо!

  • BOSYAG, временно разработка плагина заморожена, нет времени.
    В след версии будет больше возможностей и перестроен принцип расчетов…
    На данный момент плагин может выполнять простые расчеты.

  • Здравствуйте, спасибо большое за плагин. Но возникает ошибка при активации: наверху на всём сайте появляются ошибки

    Warning: session_start() [function.session-start]: Cannot send session cookie — headers already sent by (output started at C:\AppServ\www\wordpress\wp-admin\includes\template.php:1657) in C:\AppServ\www\wordpress\wp-content\plugins\wp-creator-calculator\wp-creator-calculator.php on line 64

    Warning: session_start() [function.session-start]: Cannot send session cache limiter — headers already sent (output started at C:\AppServ\www\wordpress\wp-admin\includes\template.php:1657) in C:\AppServ\www\wordpress\wp-content\plugins\wp-creator-calculator\wp-creator-calculator.php on line 64

    Возможно как-нибудь исправить? Версия WP 3.3.1

  • Поставил этот плагин всё устраивает, НО, создал 10 калькуляторов и больше не дает создавать… почему? Кликаю создать новый калькулятор а у меня открывается последний 10ый калькулятор

  • ZETRIDER выражаю огромную благодарность за проделанную работу и конечный результат. Надеюсь у Вас скоро появится свободное время для завершения этого универсального конструктора.
    Есть некоторые недочёты:
    — при использовании Инструмента Чекбокс калькулятор глотает нули, т.е. ставишь 80 результат 80, ставишь 800 результат 80, ставишь 8000 результат 80.(вместо него Я воспользовался радио);
    — при выдаче результата, страницу выкидывает в низ, так что только виден результат вычисления, что сбивает столку;
    — не рабочая ссылка «Calculator created by ZetRider.ru »
    Что бы хотелось:
    — Были устранены недочёты;
    — Что бы строка вывода была в поле калькулятора(по началу не понимаешь где результат);
    — Может это чересчур, но на всякий: Первоначально возможность выбора какого-либо варианта, после чего, в зависимости от выбранного варианта, включается тот или иной алгоритм расчёта, т.е встраивание в один калькулятор функции нескольких в зависимости от задач;
    — навсякий случай про дизайн напомню).
    Доброй работы.

  • Что бы строка вывода была в поле калькулятора(по началу не понимаешь где результат);
    — Может это чересчур, но на всякий: Первоначально возможность выбора какого-либо варианта, после чего, в зависимости от выбранного варианта, включается тот или иной алгоритм расчёта, т.е встраивание в один калькулятор функции нескольких в зависимости от задач;
    — навсякий случай про дизайн напомню).

    обалдеть… а что разве вы не можете сами переставить маяк? ведь скорее всего именно маячок кидает на результат расчета…. Дизайн? А сами сделать не пробовали… автор показал где что крутить — дерзайте!

  • обалдеть… а что разве вы не можете сами переставить маяк? ведь скорее всего именно маячок кидает на результат расчета…. Дизайн? А сами сделать не пробовали… автор показал где что крутить – дерзайте!

    С маячком постараюсь разобраться.
    Дизайн. Где показал?

  • С маячком постараюсь разобраться.

    не маяк)) Якорь, опечатался…
    Дизайн можно отредактировать в файле css

  • Спасибо большое Автору за калькулятор. У меня два вопроса. Как сделать, чтобы введенные данные оставались в полях после расчета? И возможно ли, чтобы при расчете страница не перезагружалась целиком?

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

    • Не стоит вымогать ответ у автора плагина. Автор автоматически получает все ваши комментарии, и если не отвечает сразу, то значит на то есть причины. Для быстрой связи с автором вы можете воспользоваться электронной почтой.

  • FINA, все вижу все читаю, но Ваш вопрос можно решить лишь исправлением кода плагина. На данный момент все вопросы собираю, буду отвечать. И решения включу в плагин.

  • Спасибо за ответ. А как я узнаю, что вышла новая версия? Будет ли сообщение в WP?

  • Почему тут можно сделать только сделать 10 калькуляторов ?
    Пожалуйста помогите мне срочно надо сделать ещё 2 калькулятора!

  • Здравствуйте.
    Вот такая вылезла проблема! Если вставлять в калькулятор больше чем один Checkbox, выдает ошибку и рассчет не производит.

    Parse error: syntax error, unexpected ‘;’ in /home/…/wp-content/plugins/wp-creator-calculator/wp-creator-calculator.php(568) : eval()’d code on line 1

    Помогите, плиз!
    Вроде не совсем деревянный :)

  • Вопрос вот какой:
    нужно выводить результат в виде 1 000,00, т.е. применить функцию $sum = number_format($sum, 2, ‘,’, ‘ ‘);
    Вроде все должно быть очень просто, но я в программировании не силен, нужный код в нужное место вставить смогу :)
    Прошу помощи!

  • И еще один важный момент: кроме итогового результата на почту неплохо было бы получать еще и выбранные посетителем сайта пункты.

    Возможна реализация этих двух пунктов за доп.плату?

  • Здравствуйте!
    Подскажите пожалуйста, возможна ли реализация в данном плагине функции дополнительных полей?
    Пример:
    Монтаж оконного блока 500 руб.
    … (и тут допустим надо второй или даже трети блока надо еще разных добавить, т.е. добавить поле посетителю сайта самому, если возникает такая потребность).

  • Подскажите, можно как то убрать кнопку рассчитать, и получать расчёт автоматически при введении каждого нового значения?

  • Здравствуйте. Подскажите, пожалуйста. Мне нужно реализовать следующий калькулятор: в первом select созданы пункты, описывающие виды заборов. Во втором select созданы пункты, позволяющие выбрать количество плит в одном блоке забора( 1 плита; 2 плиты ; 3 плиты ) Каждому пункту второго select присвоена своя цена. НО данная цена должна меняться при выборе вида забора. Например, у забора вида 1 2 плиты стоят 1000 руб, а у забора вида 2 две плиты стоят уже 1500 руб. КАк это реализовать? не знаю, понятно ли объяснила)

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