Давным давно, в одной очень далёкой галактике, я захотел выпить чаю с печеньками. Люблю это дело)
Но в тот раз ничего не вышло, поскольку
- заварка кончилась,
- печеньки съедены еще на прошлой неделе, а новых не завезли,
- денег нет,
но вы держитесь там.
Не долго думая — соорудил форму для приема доната.
Соорудить соорудил, а с коллегами-блоггерами не поделился. Если честно, даже в голову не пришло, что кому-нибудь тоже может понадобиться.
Вот! Делюсь! Пользуйтесь)
Формируем задачу
- У нас есть сайт на WordPress.
- Есть желание легко и быстро добавлять форму сбора доната в любое удобное место поста.
- Форма должна вписываться в дизайн и иметь адаптивную вёрстку.
Достаточно? Тогда приступим!
Способ 1: Простой, но… неудобный
1. Заходим на сайт Яндекс.Денег и идем в раздел «Формы и кнопки для вашего сайта» https://money.yandex.ru/quickpay/
В момент, когда вы читаете этот пост, могла измениться ссылка и название, но не суть. Так что найти нужную страницу особого труда не составит. Я в это верю)
2. Выбираем «Кастом» для разработчиков. Листаем чуть ниже и видим код (картинки кликабельны).
3. Копируем этот код, вставляем в пост (в режиме «Текст»), меняем в нём всё что надо поменять (номер кошелька и т.д.).
4. ?????????
5. PROFIT!
Как видите, всё предельно просто и понятно: зашел, скопировал, вставил, поправил, готово. Но во-первых, выглядеть такая форма будет как после бомбёжки, а во-вторых, заниматься подобным копипастом каждый раз не удобно и не профессионально. Поэтому переходим к следующему способу.
Способ 2: Очень сложный, но безумно удобный
Как видно из кода предыдущего примера, мы имеем банальнейшую html-форму с кучей скрытых полей, где посетитель сайта может выбрать только способ оплаты и нажать кнопку. Всё.
Хорошая новость в том, что раз это обычный HTML, то мы вольны переделать всё так, как душа пожелает (сохранив при этом имена, но не значения полей).
Приступим!
Если есть сомнения в своих силах — обратитесь к специалисту. Имеются противопоказания.
1. Для начала создадим шоткод, например tea. Его мы будем вписывать в пост в квадратных скобках, вместо всей той кучи кода, которая нам предлалась в способе 1.
Согласитесь, вписать открывающую квадратную скобку, три буквы и закрывающую квадратную скобку в нужное место поста и получить там формочку, это удобно и не нужно запоминать ничего лишнего.
У себя я добавил шоткод через собственный плагин, но вам, для простоты, рекомендую вставить его в конец файла function.php темы оформления вашего сайта на WordPress.
Привожу готовый код для вставки в function.php
function code_tea($atts, $content=""){ return '<div class="tea2"> <div class="teaconteiner"> <div class="row"> <div class="text col-lg-4 col-md-4 col-sm-4 col-xs-12"><i class="fa fa-thumbs-up" aria-hidden="true"></i> Помогло? Зашли Админу на чай.</div> <form method="POST" action="https://money.yandex.ru/quickpay/confirm.xml"> <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> <input type="hidden" name="receiver" value="41001478987584"> <input type="hidden" name="formcomment" value="Доктору Лексиуму на чай"> <input type="hidden" name="short-dest" value="Доктору Лексиуму на чай с печеньками"> <input type="hidden" name="label" value="1"> <input type="hidden" name="quickpay-form" value="donate"> <input type="hidden" name="targets" value="Админу на чай на чай с печеньками"> <input class="sum" type="text" name="sum" value="100" data-type="number"> <input type="hidden" name="comment" value=""> <i class="fa fa-rub" aria-hidden="true"></i> <input type="hidden" name="need-fio" value="false"> <input type="hidden" name="need-email" value="false"> <input type="hidden" name="need-phone" value="false"> <input type="hidden" name="need-address" value="false"> <label><input type="radio" name="paymentType" value="PC">Яндекс.Деньгами</label> <label><input type="radio" name="paymentType" value="AC">С карты</label> <label><input type="radio" name="paymentType" value="MC">С мобильного</label> </div> <div class="col-lg-2 col-md-2 col-sm-2 col-xs-12"> <input class="submit" type="submit" value="Заслать"> </div> </form> </div> </div> </div> '; } add_shortcode("tea", "code_tea");
Что там нужно поменять?
Во-первых, поле receiver. Сюда (в значение value) нужно вписать номер СВОЕГО яндекс-кошелька. Иначе деньги уйдут знатокам (т.е. мне).
Во-вторых, меняем value в полях formcomment, short-dest, targets по аналогии. Они нужны, чтобы понимать, откуда вообще пришли деньги.
В-третьих, поле sum. Здесь в value указываем желательную сумму доната. Поскольку это поле я сделал видимым, пользователь может вписать сумму сам. Хоть рубль, хоть миллион. Однако, Яндекс не примет платёж более 15000 руб.
Шоткод создан!
2. Настраиваем стили. Если не знаете как управляться с CSS — просто добавьте это в конец файла style.css в теме вашего сайта.
.tea2{ display:block; margin:20px 0; padding:0 20px; box-shadow: 1px 1px 2px rgba(0,0,0,0.5); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; vertical-align:middle; font-size:14px; background-color:#222; color:#fff; } .tea2 input{color:#111;} .tea2 .teaconteiner{} .tea2 .teaconteiner .row div{padding-top:10px;padding-bottom:10px;} .tea2 input.submit{ background-color:#ff7; border:none; font-size:18px; padding:0 34px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } .tea2 label{margin:0 5px;} .tea2 label input{margin:0 3px 0 0;} .tea2 input.sum{width:50px;text-align:center;margin:0 5px 0 0;} .tea2 .text{font-size:18px;line-height:28px;} .tea2 .text i{margin:0 10px 0 0;font-size:24px;}
3. Если к теме сайта не подключен bootstrap, то его нужно подключить. Делается это либо в файле темы header.php хардкодом, либо в том же function.php
Впрочем, можно и без бутстрапа. Просто будет больше возни со стилями.
У меня к сайту еще и FontAwesome подключен, чтобы использовать его удобные векторные значки. Один из них имеется в форме оплаты. Но это так, к слову.
Готово.
Вот что получилось у меня.
Данную форму можно использовать для даната, но она не годится для продаж, поскольку не выдаёт покупателю кассовый чек.
Напишите комментарий