Как использовать плагин Contact Form 7 для заказов
Допустим, вы установили на WordPress плагин Contact Form 7 для небольшого магазинчика. К каждому своему товару вы прикрепили одну и ту же форму заказа. И теперь нужно сделать так, чтобы при заказе клиент не вписывал каждый раз название или код товара, а это поле заполнялось бы автоматически, т.е. title страницы автоматом переносился бы в форму заказа.
Решение этому найдено! Бесплатное и простое.
- Скачайте и установите плагин Contact Form 7 — Dynamic Text Extension
- Зайдите в редактор формы заказа, нажмите «Сгенерировать тег», выберете «Dynamic Hidden field»
- Скопируйте код поля, например «[dynamichidden dynamichidden-683]» и вставьте его в левую часть, где форма. Допишите туда «CF7_get_post_var key=’title'». В результате получится примерно такая строка: [dynamichidden dynamichidden-683 «CF7_get_post_var key=’title'»]
- Учтите, что в данном случае число «683» получилось у меня. У вас будет другое. Не меняйте свое число.
- Затем в письмо (раздел ниже) вставьте «[dynamichidden-683]». Можно это сделать так: Заказ на: [dynamichidden-683].
Форма готова!
Этого поля не будет видно покупателю, но оно будет видно вам в письме с заказом. Оно будет отображать title страницы продукта. Конечно поле, в котором покупатель раньше должен был указывать название товара можно смело удалить.
Тестируйте на здоровье!
Сайт для бизнеса — машина продаж. Вам понравится! Ссылка тут.
Рубрика Техническое
Метки CF7, WordPress
Классное решение! Попробую настроить. Автору огромное Спасибо!
Не за что! 🙂
Попробовал реально работает, вот только с кавычками типа «» не сработало, поставил «» и вуаля! Интересен вопрос как указать и тайтл и ссылку на ту страницу, с которой пришёл посетитель, и то и другое вместе и по отдельности.
[dynamichidden dynamichidden-33 «CF7_URL»] — ссылка именно на страницу, с которой отправлена заявка.
Плюс возможность засветить произвольные поля таким же образом. Например:
[dynamichidden dynamichidden-25 «CF7_get_custom_field key=’cena’»]
Например, создаю произвольное поле «Цена». В данном случае «cena» — это ИМЯ ПОЛЯ. Не ярлык! Это важно.
И так же по аналогии можно высвечивать другие произвольные поля.
Спасибо огромное за ценные рекомендации и за то, что акцентировали внимание на важных моментах, которые другие опускают. Благодаря вам, у меня все получилось)
Ура! 🙂 И вам спасибо, что заглянули 🙂
Спасибо! А такой вопрос, если я хочу использовать CF7_referrer, но надо не ссылку а название (title)
Очень просто:
Генерируем скрытое динамическое поле и получаем код для левой части (для формы) и ниже для правой.
В левой стоит например это: [dynamichidden dynamichidden-000] — у меня «000», у вас другая цифра.
После «000» пишем: «»CF7_get_post_var key=’title'»»
Получается примерно такая строка:
[dynamichidden dynamichidden-000 «CF7_get_post_var key=’title'»].
Соответственно в правую часть (т.е. в шаблон письма) ставьте «[dynamichidden-000]» — это и будет title.
Кстати, такая же работа идет и с любым производным полем. Только вместо title вставляете название поля (латиницей которое).
Удачи!
Узнать текущий тайтл страницы можно и проще, выводом [_post_title]
а вот как бы идентифицировать несколько одинаковых форм на странице?)
например можно ли вывести id родителя этой формы?
Вот тут, простите, не подскажу… Google+Yandex вам в помощь!
А реально ли сделать, чтобы после отправки формы, она перемещалась или создавал новый заказ в woocommerce?
По мне так всё реально, но это лучше спросить уже у программистов.
Я хочу сделать так. Страница с товаром, при нажатии на товар (кнопка заказать), сразу попадал на форму заказа (отдельная страница). Можно ли сделать так, чтоб название товара заполнялось само, с той страницы с которой был выбран товар?
Да, можно. Решение, предложенное выше как раз и является ответом на ваш вопрос.
А как в случаи с рубрикой передать в форму название рубрики?
У меня почему-то форма не обрабатывает это поле, выводит текстом [dynamichidden dynamichidden-000 «CF7_get_post_var key=’title'»], плак.
А у вас оба плагина для контактной формы стоят?
Ася, спасибо большое!
Не хотел утяжелять сайт магазином, CF7 отличное решение, единственное чего не хватало, это как раз динамических полей (название + ссылка).. и тут данная подсказка была как раз кстати.
Вот что у меня получилось: http://relplus.ru/project/hd_greg_tee/
Могу поделиться и кодом для этого результата, может кому пригодится, например как выстроить горизонтально.. но это довольно объёмный коммент вышел бы..
ЗдОрово, я очень рада! Код — всегда кстати. Может, там есть принципиально важные вещи, которые нужно соблюсти, а остальное любительские настройки… Народу было бы полезно 🙂 Кидайте 🙂
Как бы реализовать вот в таком варианте:
http://kombezz.com/category/kombinezony/
?
получается всё реализовано на одной странице
формы через фэнсибокс
по [dynamichidden mytovar «CF7_get_post_var key=’title'»]
берет похоже последний товар HOT RED 🙁
снаружи это не проверить, не разобраться с этим. Моё решение рассчитано на товар=страницу. Поэтому логично, что он берёт последний фрагмент кода. У вас все товары на одной странице. Тут надо придумывать решение для pop up.
Спасибо за статью!
На здоровье! 🙂
Спасибо! Я тебя люблю))))
Взаимно! )))
подскажите как в поле можно вставить информацию по классу?
например атрибуты
я создаю Цвет: белый
и как сделать так, чтобы фраза «Цвет: белый» попала в поле?
пробую так: [dynamictext dynamicname3 «CF7_get_custom_field key=’cvet'»] — ничего не выходит
заранее спасибо!
Артём, к сожалению не могу подсказать, выпала из темы 🙁 Но, может, кто-то другой подскажет. Могу предположить только не самый простой путь — создать на каждый цвет по отдельному товару и тогда при выборе определённого товара вы будете получать соответствующее письмо-заказ.
Для передачи тайтла не нужны плагины, в Contact Form 7 это заложено изначально.
Есть список специальных тегов, которые ставятся в поле «Тело сообщения».
[_post_id], [_post_name], [_post_title] , [_post_url] и др.
т.е. можно получить ID записи или страницы, название страницы, тайтл или урл.
Иван, спасибо за альтернативное решение!
Кто попробовал и у кого работает, отзовитесь плиз.
Спасибо, работает!
Ура! 🙂
Здравствуйте, у меня не работает, ни [_post_url] ни с помощью плагина( в письме приходит сам шорткод, подскажите в чем может быть проблема?
Все разобралась, просто код формы (это модальное окно), лежал не в цикле, а после
Простите, что не смогла помочь вовремя, Екатерина. Рада, что вы справились! 🙂
Утомили пока разобрался с синтаксисом и ошибками)))
Ваш пример:
Допишите туда «CF7_get_post_var key=’title’». В результате получится примерно такая строка: [dynamichidden dynamichidden-683 «CF7_get_post_var key=’title’»]
1. Указывать надо без скобок ёлочек.
2. Перед title у вас стоит не та скобка из-за чего выбивает ошибку)
Для лиги лени, правильный код будет выглядеть так:
[dynamichidden dynamichidden-683 CF7_get_post_var key=’title’]
где 683 — цифры сгенерированный вашей формой.
Здравствуйте
а как добавить названия категории товара?
Ксения, простите, я уже не в теме несколько лет 🙁 Но обычно, если у вас WooCommerce, слева в меню есть «Добавить товар» и там же должны быть категории, посмотрите.