Imagens carregadas no frontend exibem corretamente, mas não no editor de mídia.

if ($_FILES) { $uploaddir = wp_upload_dir(); $file = $_FILES[featured_image]; $uploadfile = $uploaddir['path'] . '/' . basename( $file['name'] ); move_uploaded_file( $file['tmp_name'] , $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 ); // Make sure that this file is included, as wp_generate_attachment_metadata() depends on it. require_once(ABSPATH . "wp-admin" . '/includes/image.php'); require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php'); // Generate the metadata for the attachment, and update the database record. $attach_data = wp_generate_attachment_metadata( $attach_id, $filename ); wp_update_attachment_metadata( $attach_id, $attach_data ); set_post_thumbnail( $new_job_id, $attach_id ); } 

As imagens são carregadas corretamente e são definidas para a imagem em destaque para a publicação selecionada. As imagens também são exibidas como normais (exceto só pode mostrar o tamanho completo da imagem, não é possível carregar o tamanho da miniatura). Mas na biblioteca de mídia no backend as imagens são exibidas como uma página com um canto dobrado e você não pode ver o real imagem.

O que estou fazendo de errado aqui?

Solutions Collecting From Web of "Imagens carregadas no frontend exibem corretamente, mas não no editor de mídia."

Parece que você pegou a rota super longas e fez cada passo do upload manualmente.

Mas por que não usar a function sideloading que faz tudo por você? A maioria do seu código pode ser substituída por esta:

 // These files need to be included as dependencies when on the front end. require_once( ABSPATH . 'wp-admin/includes/image.php' ); require_once( ABSPATH . 'wp-admin/includes/file.php' ); require_once( ABSPATH . 'wp-admin/includes/media.php' ); $attach_id = media_handle_upload( 'featured_image', $new_job_id ); if ( is_wp_error( $attach_id ) ) { // There was an error uploading the image. } else { // The image was uploaded successfully! } 

A partir daí, você pode definir a sua miniatura de postagem, procurar a documentação para media_handle_upload para obter mais detalhes e lembre-se de adicionar uma verificação não relacionada ao seu carregador ou seu site provavelmente será pirateado

  if ($_FILES) { // Make sure that this file is included, as wp_generate_attachment_metadata() depends on it. require_once(ABSPATH . "wp-admin" . '/includes/image.php'); require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php'); $uploaddir = wp_upload_dir(); $file = $_FILES[featured_image]; $file_return = wp_handle_upload( $file, array('action' => 'tm_add_new_job' ) ); 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'] ); // Generate the metadata for the attachment, and update the database record. $attachment_data = wp_generate_attachment_metadata( $attachment_id, $filename ); wp_update_attachment_metadata( $attachment_id, $attachment_data ); set_post_thumbnail( $new_job_id, $attachment_id ); } }