Frontend-Post und Upload-Datei, Bild für Benutzer ohne Plugin

Es gibt mehrere Benutzer, die ihren eigenen Beitrag auf den entsprechenden Post-Typen (wie Nachrichten, Berichte usw.) mit Feature-Bild-Upload, Extra-Datei (pdf, txt, Excel) Upload-Schaltfläche von der Front-End, die vom Administrator vom Back-End genehmigt wird .

Ich habe für Feature-Bild zu lösen, aber meine Meinung für Datei-Upload von Front-End für den jeweiligen Beitrag hängen.

Ich habe die Datei auch vom Backend mit Metabox hochladen, aber keine Ahnung, wie man es von Frontend zu Upload funktioniert.

Solutions Collecting From Web of "Frontend-Post und Upload-Datei, Bild für Benutzer ohne Plugin"

Würde dieses Plugin möglicherweise bieten, was Sie brauchen? Frontend-Uploader .

Dieses Plugin ist eine einfache Möglichkeit für Benutzer, Inhalte auf Ihrer Website einzureichen. Das Plugin verwendet eine Reihe von Shortcodes, mit denen Sie hoch anpassbare Formulare für Ihre Posts und Seiten erstellen können. Sobald der Inhalt gesendet wurde, wird er zur Moderation gehalten, bis Sie ihn genehmigen.

Verwenden Sie wp_handle_upload in einer benutzerdefinierten function

 if ( $_FILES ) { upload_user_file($_FILES['test_upload']); } if ( ! function_exists( 'upload_user_file' ) ) : function upload_user_file( $file = array(), $title = false ) { require_once ABSPATH.'wp-admin/includes/admin.php'; $file_return = wp_handle_upload($file, array('test_form' => false)); if(isset($file_return['error']) || isset($file_return['upload_error_handler'])){ return false; }else{ $filename = $file_return['file']; $attachment = array( 'post_mime_type' => $file_return['type'], 'post_content' => '', 'post_type' => 'attachment', 'post_status' => 'inherit', 'guid' => $file_return['url'] ); if($title){ $attachment['post_title'] = $title; } $attachment_id = wp_insert_attachment( $attachment, $filename ); require_once(ABSPATH . 'wp-admin/includes/image.php'); $attachment_data = wp_generate_attachment_metadata( $attachment_id, $filename ); wp_update_attachment_metadata( $attachment_id, $attachment_data ); if( 0 < intval( $attachment_id ) ) { return $attachment_id; } } return false; } endif;