web-dev-qa-db-fra.com

essayer d'utiliser wp_handle_upload avec ajax

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.

1
Asaf Chertkoff

J'ai trouvé une solution très simple ici . Il dépasse toutes les solutions externes Ajax, à mon avis.

1
Asaf Chertkoff

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);

Mettre à jour

Rappelez-vous que vous devez utiliser une solution de téléchargement ajax telle que:

  • JQurey formulaire plugin
  • Uplodifier
  • SWFUpload

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

2
Bainternet