webentwicklung-frage-antwort-db.com.de

Bilder mit Kommentar hochladen

EDIT: Ich habe endlich die richtige Antwort bekommen; siehe meine eigene Antwort unter diesem Beitrag für alle, die interessiert sind.

Nachdem ich ein paar Tage gesucht und es immer wieder versucht hatte, blieb ich wirklich stecken. Ich habe einen Kunden, der Kundenerfahrungen auf seiner Website mithilfe des Kommentarformulars sammelt. Alle Kommentare werden als Kundenbewertung angezeigt. So weit, ist es gut.

Da seine Firma jedoch viel mit Reisen zu tun hat, muss er seinen Kunden die Möglichkeit geben, bis zu fünf Bilder mit dieser Bewertung hochzuladen.

Ich muss also eine Möglichkeit finden, Kunden das Hochladen von Medien zusammen mit dem dort ausgefüllten Kommentarformular zu ermöglichen. Ich weiß, dass es riskant ist, da möglicherweise beschädigte Bilder hochgeladen werden und so weiter. Trotzdem möchte ich es erreichen.

Viele Dinge ausprobiert, aber der Punkt, an dem ich immer wieder stecken bleibe, ist die Handhabung des Hochladens von Dateien für einen nicht angemeldeten Benutzer, der mit einem Kommentarformular gepostet wird ...

Alle mögliche Gedanken werden sehr geschätzt!

2
Dennis Hunink

EDIT: Mit Hilfe eines Freundes habe ich eine Lösung gefunden. Für alle Interessierten: Verwenden Sie einen benutzerdefinierten Beitragstyp, in meinem Fall comment_post. Dann lade die Bilder so hoch:

$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
2
Dennis Hunink