File specificato non ha superato il test di upload. Errore durante il caricamento dell'immagine dal front-end
Questo è il mio codice:
$file_return = wp_handle_upload($_FILES['my-photo'], array('test_form' => FALSE));
if(isset($file_return['error']) || isset($file_return['upload_error_handler'])) {
echo "E quindi è MORTO...";
print_r($file_return);
die;
}
Perché non viene caricato nella directory uploads e perché restituisce l'errore "Specified file failed upload test."?

Consulta la documentazione wp_handle_upload
È necessario includere il file.php prima di chiamare wp_handle_upload
require_once( ABSPATH . 'wp-admin/includes/file.php' )

La funzione wp_handle_upload
cerca di leggere i dati del file dalla dimensione più bassa dell'array fornito. Ad esempio: $file['tmp_name']
. Quindi, se le informazioni fornite si trovano su un livello secondario dell'array (come $file['my-photo']['image']
), non troverà l'indice previsto e genererà un avviso nel log, come questo:
PHP Notice: Undefined index: tmp_name
E fallirà il test di upload. Controlla il tuo log degli errori per eventuali avvisi. Inoltre, controlla il sorgente del metodo per il tuo messaggio di errore, questo potrebbe aiutarti molto: https://developer.wordpress.org/reference/functions/_wp_handle_upload/#source (riga #792).
