Intereting Posts
Перемещение небольших обновлений между локальными и живыми сайтами – просто база данных? Обновление vs Вставить логику, но последний ключ всегда вставлен? Установка post_id для single.php на основе URL без перенаправления Использование переходных процессов для хранения captchas Создайте CSV-файл и добавьте данные в новое сообщение WordPress Отображаемое изображение или миниатюра сообщений на index.php? Сложный запрос с использованием pre_get_posts Как правильно отладить WordPress? Загрузка файлов в профили приятелей Экспорт базы данных WP для импорта с использованием WP-CLI в Vagrant Box Как интегрировать карусель совы в тему без использования плагина? Сохранение / извлечение наилучших методов данных формы для разработки тем Слишком много вложенных циклов wp_query в этом гипотетическом запросе? Как изменить возможности страницы меню Изменить эту строку, чтобы дать альтернативную дату формата?

Пользовательская форма, в которой хранятся данные в базе данных

Я никогда раньше не использовал WordPress, но много программировал. Но каков нормальный способ создания таможенных форм?

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

Мне также нужно запросить данные и получить результат в таблице HTML.

благодаря

Я сам получил решение проблемы. См. Код ниже, это сделает это.

Поместите код внутри только что созданного настраиваемого шаблона .

<?php if (!empty($_POST)) { global $wpdb; $table = wp_achord; $data = array( 'name' => $_POST['yourname'], 'chord' => $_POST['chord'] ); $format = array( '%s', '%s' ); $success=$wpdb->insert( $table, $data, $format ); if($success){ echo 'data has been save' ; } } else { ?> <form method="post"> <input type="text" name="yourname"> <textarea name="chord"></textarea> <input type="submit"> </form> <?php } ?> 

Я собираюсь использовать это решение, но его швы очень настраиваются, и это может быть проблемой с темами и обновлениями?

  • Ссылка на решение

Посмотрите видео с alecaddd на youtube премии wordpress development, часть 10 за создание ящика messeges и части 11 и 12 для создания настраиваемого почтового ящика.

Мое предложение:

Используйте контактную форму 7 плюс контактную форму DB . Вы можете «спроектировать» свою форму в бэкэнд и ввести интерфейс с помощью простого короткого кода.

Расширение DB контактной формы позволяет помещать ваши данные в базу данных и предлагает вам короткие коды для их отображения (или вы можете запросить данные непосредственно из базы данных, если хотите)

Это дает разные способы. Для данных хранилища, таких как параметры, есть таблица опций, API-интерфейс параметров , правильное место с записью и массив как элемент хранилища. Но для хранения данных использовать его, как сообщения, и каждый запрос из формы лучше сохранить также как сообщение. Но и здесь разные возможности. Вы можете сохранить для разных типов сообщений. По умолчанию используется «post», а также вы можете сохранить его в настраиваемом типе сообщений. Используйте функцию wp_insert_post() для сохранения всех типов сообщений после отправки формы от пользователей. Здесь вы найдете очень тонкие ответы на эту функцию, этот вопрос также находится в дикой природе www. Вы также можете увидеть небольшой пример в этом ответе 73653 , inlcude вложения в форму.

Вы также можете использовать отличный плагин Contact Form 7 вместе с плагином расширения Post My CF7 Form, который позволит вам сохранить любые персонализированные формы в сообщении, включая изображения в качестве вложенных вложений, а также выбрать / checkbox / radio input в качестве таксономии.

Плагин Post My CF7 Form имеет богатую функциональность, которая может быть использована для дальнейшей настройки и настройки способа сохранения ваших форм. Существует также подробная секция документации .

 <?php /** Use these line of codes, its working more than 100% */ get_header();?> <?php if (!empty($_POST)) { global $wpdb; $table = wp_contact; $data = array( 'name' => $_POST['aname'], 'email' => $_POST['aemail'], 'subject' => $_POST['asubject'], 'msg' => $_POST['amsg'] ); $format = array( '%s', '%s' ); $success=$wpdb->insert( $table, $data, $format ); if($success){ echo 'data has been saved' ; } } else { ?> <form action="<?php echo get_option('siteurl'); ?>/form/" method="post"> <input type="text" name="aname"> <input type="text" name="aemail"> <input type="text" name="asubject"> <textarea type="text" name="amsg"></textarea> <input type="submit"> </form> <?php } ?> 

Ваше решение хорошее и может работать очень хорошо. Но ограничений мало. например:

1) Как насчет поиска и сортировки записей, которые публикуются через вашу форму? 2) Как экспортировать данные, заполненные в форму, в Excel или CSV или PDF? 3) Что делать, если вы хотите распечатать вставленные данные.

Все, что может быть достигнуто с помощью Contact Form 7 + Save Contact Form 7 плагинов.

оба являются бесплатными широко распространенными плагинами: http://savecontactform7.com/ http://contactform7.com/