Laden Sie Bilder in die benutzerdefinierte databasetabelle im Admin-Backend hoch

Ich habe einen benutzerdefinierten Post-Typ, der Benutzerdetails in eine benutzerdefinierte Tabelle aus einem Formular im WordPress-Back-End einfügt. Hier ist der Code für das Formular:

function display_add_user_metabox(){ echo '
', '

', '

', '

', '

', '', '

', '', '

', '', '
'; }

und die function zum Einfügen der Benutzer:

 function add_user(){ global $wpdb; $table_name = $wpdb->prefix . "users"; $name = $_POST['firstname']; $surname = $_POST['surname']; $nickname = $_POST['nickname']; $upload = wp_upload_bits($_FILES["userpic"]["name"], null, file_get_contents($_FILES["userpic"]["tmp_name"])); $wpdb->insert( $table_name, array( 'user_name' => $name, 'user_surname' => $surname, 'user_nickname' => $nickname, 'user_image' => $upload['url'] ), array( '%s', '%s', '%s', '%s' ) ); } if( isset($_POST['submit']) ) { add_user(); } 

Dies fügt nichts in die Tabelle ein. Aber wenn ich den $ upload oder irgendwas in Bezug auf das Bild auskommentiere, funktioniert alles gut. Was vermisse ich?

Solutions Collecting From Web of "Laden Sie Bilder in die benutzerdefinierte databasetabelle im Admin-Backend hoch"

Fügen Sie Folgendes vor global $ wpdb ein;

  require_once(ABSPATH . "wp-admin" . '/includes/image.php'); require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php');