Пользовательская форма в Wordpress? - PullRequest
1 голос
/ 07 июля 2010

Я делаю WordPress сайт, который выглядит и ведет себя не столько как блог, сколько как классический веб-сайт. Мне нужно сделать много пользовательских форм, и теперь у меня есть три одинаково плохих решения для этого.

Можно создать каждую форму в виде файла шаблона темы. Эти страницы будут передавать данные самим себе, и все будет замечательно, за исключением , за исключением того факта, что мне не нравится, что мой плагин и тема так плохо связаны между собой. Я думаю, что тема должна быть только для дизайна, что означает заголовок, нижний колонтитул и т. Д., И этот плагин должен обрабатывать все остальные работы.

Второе решение - создать файл controller.php где-нибудь в папке моего плагина, а затем все запросы должны быть направлены на этот контроллер, который будет контролировать, какую страницу отображать и как. И каждая страница должна быть сделана с использованием коротких кодов WP, расположенных внутри моей папки плагинов. Проблема этого подхода заключается в том, что у меня возникают проблемы с передачей параметров POST после отправки формы. Я бы отправил форму своему контроллеру, который затем перенаправил бы ее на страницу со всеми потерянными параметрами POST.

Третье решение - нацеливание на реальные страницы, на которых отображается контент, с использованием шорткодов WP, и когда пользователь успешно отправит шорткод формы, вместо пользовательской формы вернется сообщение с благодарностью. Проблема здесь заключается в том, что если вы нажмете «Обновить» во время отображения сообщения «Спасибо», браузер снова отправит форму. И снова и снова, каждый раз, когда вы нажимаете обновить.

Простой вопрос. Как бы вы это сделали?

Это был бы первый путь? Я вижу, что многие люди делают именно это, жестко программируя свои собственные формы внутри файлов шаблонов, хотя это может быть не самым чистым решением. Хм ... Тем не менее, я хотел бы отделить свои формы и логику от моей темы.

Greets

1 Ответ

0 голосов
/ 07 июля 2010

Существует несколько хороших решений в виде существующих плагинов.Два, которые сразу приходят на ум, это Gravity Forms, которые вы должны приобрести:

http://www.gravityforms.com/

или Formidable Forms, которые имеют бесплатную базовую версию и платную расширенную версию:

http://wordpress.org/extend/plugins/formidable/

Я бы определенно предложил использовать плагин.Лучше, если возможно, отделять дизайн и функциональность.Оба эти плагина довольно просты в использовании.Я знаю, что грозные использует шорткоды, но я не уверен насчет гравитационных форм

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...