J'ai utilisé ce tutoriel pour créer un formulaire de page d'option avec Ajax.
Maintenant, je veux utiliser le wp_handle_upload pour télécharger une image. J'ai essayé ceci http://Pastebin.com/35HW8RSZ mais sans succès.
l'aide sera appréciée. Asaf.
J'ai trouvé une solution très simple ici . Il dépasse toutes les solutions externes Ajax, à mon avis.
Vous devez inclure quelques fichiers pour que wp_handle_upload
fonctionne, et j’ai une fonction pour cela:
function My_wp_handle_upload($file_handler,$overrides) {
// check to make sure its a successful upload
if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) __return_false();
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
$upload = wp_handle_upload( $file_handler, $overrides );
return $upload ;
}
donc, après avoir ajouté cette fonction à votre fichier, il suffit de changer votre appel depuis:
$file = wp_handle_upload($data['MoobLogoUpload'], $overrides);
à:
$file = My_wp_handle_upload($data['MoobLogoUpload'], $overrides);
Rappelez-vous que vous devez utiliser une solution de téléchargement ajax telle que:
toute autre ou soumettre par iframe puisqu'il n'est pas possible de télécharger des fichiers à l'aide de l'objet XMLHttpRequest du navigateur