#php #wordpress
#php #wordpress
Вопрос:
Я вижу, что разные люди задают этот вопрос, но нет точных ответов. Я хочу взять текст из формы текстовой области, где пользователи могут вводить свою биографию, а затем вставить его в поле био в mysql. Обычно это может быть довольно просто, но, увы, это кажется почти невозможным с WordPress. Я должен использовать плагин «Php для сообщений и страниц», и по какой-то причине мой php-скрипт не может быть найден (ошибка 404), независимо от того, где я его размещаю. Затем я подумал, что попробую просто создать форму и php на одной странице WordPress, но, по-видимому, это невозможно сделать, как на обычной веб-странице php. У кого-нибудь есть опыт в этом? Какие-либо подходы, которые, как известно, работают?
Ответ №1:
Вы можете создать форму, используя обычный php, и вставить ее в mysql. Вы можете сделать это, создав шаблон страницы в WordPress.
Комментарии:
1. ОК. Я создал шаблон, который на странице — он полностью заменяет wordpress. Я хочу сначала отобразить содержимое с помощью html-формы, а затем, когда пользователи нажимают кнопку отправки, код выполняет функцию вставки php mysql. Я не понимал, что шаблон php полностью заменяет страницу word press. Это круто, но почему php не подключается к БД (выдает ошибку: ошибка синтаксического анализа: синтаксическая ошибка, неожиданный ‘mysql_connect’)? Кроме того, как одна страница php может отображать форму и выполнять вставку mysql после нажатия кнопки отправки формы.
2. вы не должны снова подключать базу данных. Вы можете начать с вставки записей в таблицу
Ответ №2:
Я прошел через тот же процесс! 🙂
Мое решение было:
Установка плагина PHP insertor (в частности, этого). Это намного проще, чем создание шаблона.
Я использовал это так (вставлено в исходный текст сообщения):
[insert_php] include('myphpfile.php'); [/insert_php]
Затем включенное содержимое PHP будет обработано и распечатано внутри тела страницы (основной части статьи), поэтому вам не нужно создавать теги html, head и body.
Затем возникла проблема с размещением данных формы на странице, подобной этой. Это было потому, что некоторые поля моей формы как бы конфликтовали с переменными WP.
Некоторые из конфликтующих имен полей, которые я заметил: info, name
Просто взгляните на имена полей вашей формы и замените их на что-то другое, и все будет хорошо! 🙂
PS.: Можно поместить форму и «приемник» данных формы в один и тот же PHP-скрипт. Я сделал это, и это сработало в этом сценарии.
PS. 2: При желании вы можете отключить раздражающий плагин wpautop stock WP для автоматической вставки абзацев, поскольку он влияет на вывод включенного PHP. Существует плагин для отключения wpautop для каждого поста: Toggle wpautop