у меня есть форма, которая позволяет вводить имя, адрес электронной почты & фотография … когда я нажимаю на кнопку «отправить», я хочу, чтобы она вставила строку в посттип, называемый «контакт», с информацией, представленной формой, и изображением в качестве избранного изображения, но оно ничего не делает
мой код
<?php
if (isset($_POST['submit'])) {
$yourname=$_POST['yourname'];
$email=$_POST['email'];
$myimage=$_POST['myimage'];
include_once('../../../wp-config.php');
global $wpdb;
$table = 'wp_posts';
$data = array(
post_title=>$yourname,
post_status=>'Published',
post_type=>'contacts',
email=>$email,
featured_image=>$myimage
);
$wpdb->insert( $table, $data);
}
?>
<form action="" method="POST">
Your Name: <input type="text" name="yourname" value=""> <br>
Your Email: <input type="text" name="email" value=""> <br>
Image: <input type="file" name="myimage" id=""><br>
<input type="submit" name="submit" value="submit" />
</form>
Есть ли способ проверить, загружена ли строка? & отобразить сообщение, если вставка завершена, и через несколько секунд перенаправить на новый URL.
Проверьте, переданы ли столбцы $data
существует в базе данных или в форме не имеют method="post" enctype="multipart/form-data"
Попробуй вставить это.
Вы не можете получить значение загруженных файлов из $_POST
переменная. Для этого вам нужно использовать $_FILES
переменная.
Чтобы этот код работал сначала, вам нужно добавить следующее:
method="post" enctype="multipart/form-data"
,featured_image => $_FILES['myimage']['name']