Möchten Sie benutzergenerierte Dateien in die Mediathek hochladen? Dieser Codeausschnitt kümmert sich um das Hochladen von Dateien in Ihre Mediathek.
Anleitung
- Fügen Sie diesen Code zur functions.php-Datei Ihres Themes oder in ein websitespezifisches Plugin ein.
- All uploaded files are stored in the $_FILES array, so you will need to loop through the
$_FILESarray and pass each file array to theupload_user_file()function. You can use this code in your form handler:
if( ! empty( $_FILES ) ) { foreach( $_FILES as $file ) { if( is_array( $file ) ) { $attachment_id = upload_user_file( $file ); } } } - Denken Sie daran, dass Sie das Attribut
enctype="multipart/form-data"zum<form>-Tag hinzufügen müssen, wenn Ihr Formular Dateiuploads verarbeiten soll.
function upload_user_file( $file = array() ) {
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_title' => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
'post_content' => '',
'post_status' => 'inherit',
'guid' => $file_return['url']
);
$attachment_id = wp_insert_attachment( $attachment, $file_return['url'] );
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;
}
Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzuf ilde{A}gen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress kopieren / einf ilde{A}gen, damit Sie Ihre Website nicht versehentlich besch ilde{A}digen.
Wenn Ihnen dieser Codeausschnitt gefallen hat, sollten Sie sich Einrichten von Download-Tracking in WordPress mit Google Analytics ansehen.
Cool, gibt es einen Code, mit dem man die Datei in der Vorschau anzeigen kann?
Ich bin sicher, dass alles getan werden kann, aber es gibt keine Vorschau der Datei.