Для отправки текста из формы в базу данных WordPress можно использовать несколько подходов. Один из наиболее распространенных вариантов — это создание кастомной формы с помощью PHP и использование функции WordPress для обработки данных.
Шаги для отправки текста из формы в базу данных:
- Создайте форму HTML: В вашем шаблоне WordPress (например, в файле
page.php
) добавьте HTML-форму. Например:
<form method="POST" action="">
<label for="text_input">Введите текст:</label>
<input type="text" name="text_input" id="text_input" required>
<input type="submit" value="Отправить">
</form>
Обработайте отправленные данные с помощью PHP: В файле темы (например, functions.php
или в том же page.php
) нужно добавить обработчик, который будет сохранять данные в базу данных.
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['text_input'])) {
global $wpdb;
$table_name = $wpdb->prefix . 'custom_table'; // Название вашей таблицы
$text_input = sanitize_text_field($_POST['text_input']); // Очистка данных для безопасности
// Вставка данных в таблицу
$wpdb->insert(
$table_name,
array(
'text_column' => $text_input, // Название колонки и значение
)
);
}
В этом коде используется функция sanitize_text_field()
, которая очищает пользовательский ввод для безопасности.
Создайте таблицу в базе данных (если её нет): Если вы еще не создали таблицу для хранения данных, то это можно сделать через функцию register_activation_hook
для создания таблицы при активации плагина/темы:
function create_custom_table() { global $wpdb; $table_name = $wpdb->prefix . 'custom_table'; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id mediumint(9) NOT NULL AUTO_INCREMENT, text_column text NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); } register_activation_hook( __FILE__, 'create_custom_table' );
Проверьте работу формы: Теперь, когда форма отправляется, текстовое значение будет сохраняться в указанной таблице базы данных.
Дополнительные возможности:
- Для вывода сохраненных данных из базы данных можно использовать функции WordPress, такие как
$wpdb->get_results()
, для получения данных из таблицы и их отображения на сайте. - Также можно добавить валидацию и уведомления о том, что данные успешно сохранены.