Wie kann ich ein vordefiniertes Bild von meinem Frontend hochladen, speichern und einstellen?

Ich habe ein Formular auf meiner Website.

Dieser Benutzer registriert eine vermisste Person. Ich habe eine benutzerdefinierte Person vom Typ Fehlende Person, benutzerdefinierte Taxonomien und benutzerdefinierte Felder erstellt. Alle diese Eingaben sind auch in wp gespeichert.

Aber ich weiß nicht, ein Bild einreichen und dieses Bild als vorgestellten Bild speichern.

$my_post = array( 'post_title' => $_POST['title'], 'post_date' => $_SESSION['cal_startdate'], 'post_content' => $_POST['myContent'], 'post_status' => 'draft', 'post_type' => 'pessoa_desaparecida', ); $post_id = wp_insert_post($my_post); $uploaddir = wp_upload_dir(); $file = $_FILES["test"]["name"]; $uploadfile = $uploaddir['path'] . '/' . basename( $file ); move_uploaded_file( $file , $uploadfile ); $filename = basename( $uploadfile ); $wp_filetype = wp_check_filetype(basename($filename), null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\.[^.]+$/', '', $filename), 'post_content' => '', 'post_status' => 'inherit', 'menu_order' => $_i + 1000 ); $attach_id = wp_insert_attachment( $attachment, $uploadfile ); update_post_meta($post_id,'_thumbnail_id',$attach_id); set_post_thumbnail( $post_id, $thumbnail_id ); 

aber funktioniert nicht

Mein Formular im Frontend ist:

 

DRUCKEN:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Solutions Collecting From Web of "Wie kann ich ein vordefiniertes Bild von meinem Frontend hochladen, speichern und einstellen?"

Du kannst es auf diese Weise versuchen:

 set_post_thumbnail( $my_post_id, $thumbnail_id ); 

Sie müssen das Bild zuerst wie folgt in die Bibliothek einfügen:

  $uploaddir = wp_upload_dir(); $file = $_FILES[ ... whatever you have in your POST data ... ]; $uploadfile = $uploaddir['path'] . '/' . basename( $file ); move_uploaded_file( $file , $uploadfile ); $filename = basename( $uploadfile ); $wp_filetype = wp_check_filetype(basename($filename), null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\.[^.]+$/', '', $filename), 'post_content' => '', 'post_status' => 'inherit', 'menu_order' => $_i + 1000 ); $attach_id = wp_insert_attachment( $attachment, $uploadfile ); 

Für mehr Details sehen Sie bitte diesen Link

Zunächst sollten Sie überprüfen, ob Ihr Theme Thumbnails unterstützt und dass Ihre vermisste Person CPT es ebenfalls unterstützt. Wenn Sie Ihren CPT über PHP-Code erstellen, überprüfen Sie Folgendes:

 add_theme_support( 'post-thumbnails' ); register_post_type( 'yourposttype', array( ..., 'supports' => array('title', ...,'thumbnail'), )); 

}

Wenn das richtig ist, sollte der Code in der Antwort funktionieren.