Загружайте изображения с комментариями
РЕДАКТИРОВАТЬ: Я наконец-то получил правильный ответ; смотрите мой собственный ответ под этим постом для всех, кому это интересно.
После нескольких дней поисков и попыток снова и снова я действительно застрял. У меня есть клиент, который собирает отзывы клиентов на своем веб-сайте с помощью формы комментариев; все комментарии отображаются в виде отзыва клиента. Пока все хорошо.
Но поскольку эта компания много занимается путешествиями, ему нужно предоставить своим клиентам возможность загружать до пяти изображений с обзором.
Итак, что мне нужно сделать, так это найти способ позволить клиентам загружать медиа вместе с заполненной формой комментариев. Я знаю, что это довольно рискованно, так как могут быть загружены поврежденные изображения и так далее. Но все же я хотел бы этого добиться.
Много чего перепробовал, но точка, в которой я застреваю снова и снова, - это обработка загрузки файлов для пользователя, не вошедшего в систему, который публикуется с формой комментария...
Любые мысли будут очень оценено по достоинству!
1 answers
РЕДАКТИРОВАТЬ: С некоторой помощью друга я нашел решение. Для всех заинтересованных: Используйте пользовательский тип сообщения, в моем случае comment_post. Затем загрузите изображения следующим образом:
$new_post = array(
'post_title' => $title,
'post_content' => $comment,
'post_status' => 'pending',// Choose: publish, preview, future, draft, etc.
'post_type' => 'comments_post' // Use a custom post type
);
//save the new post and return its ID
$pid = wp_insert_post($new_post);
//Upload the file(s)
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
if ($_FILES) {
foreach ($_FILES as $file => $array) {
//Check if the $_FILES is set and if the size is > 0 (if =0 it's empty)
if(isset($_FILES[$file]) && $_FILES[$file]['size']>0){
if ($_FILES[$file]['error'] !== UPLOAD_ERR_OK) {
echo '<div class="allert alert-error"><p>Upload error : ' . $_FILES[$file]['error'] . '</p></div>';
$upload = false;
}else{
$upload = true;
}
if($upload == true){
$attach_id = media_handle_upload( $file, $pid );
}
}
}
}//End if '$_FILES'
}//End if errornumbers