Bonjour,

D'abord je m'excuse si ma question semblera triviale, je découvre javascript et je tourne en rond sur une question de Json..

je cherche à ajouter un éditeur d'image à la fonction d'upload d'images du thème WP Classipress.
J'ai fait des ajouts par analogie au code d'origine.

Dans le PHP, mon bouton de input : <a href="#" class="attachment-edit button" data-attach_id= $attach_id.
Le script intercepte effectivement class="attachment-edit et reçoit le paramètre $attach_id.

Dans le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
jQuery('#app-attachment-upload-filelist') .on('click', 'a.attachment-edit', this.editAttachment);
// ce qui relie à editAttachment:
editAttachment: function (e, response) {
  e.preventDefault();
  var el = jQuery(this),
  data = {
    'attach_id': el.data('attach_id'),
    'nonce': AppPluploadConfig.nonce,
    'action': 'app_plupload_handle_edit'
  };
  jQuery.post(AppPluploadConfig.ajaxurl, data, function () {
    jQuery('#app-attachment-upload-filelist') .append('<b>--post envoyé par le script--</b>') .append(data.attach_id)
  });
  // jusque là, c'a marche !
  var resp = jQuery.parseJSON(response.response);
  jQuery.post(AppPluploadConfig.ajaxurl, resp, function () {
    jQuery('#app-attachment-upload-filelist') .append('<b>--response--</b>') .append(resp.html)
  });
},

Le script récupère attach_id et l'affiche. Il lance bien l'action 'app_plupload_handle_edit' qui correspond à ma fonction php appthemes_plupload_handle_edit().

Par contre, je ne parviens pas à récupérer le retour Json de cette fonction vers le script ... et pourtant, elle est bien lancée..

Dans mon php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
      add_action( 'wp_ajax_app_plupload_handle_edit', 'appthemes_plupload_handle_edit' );	
      function appthemes_plupload_handle_edit() {
	        $response = array('html' =>"pour essai") ;
	        error_log("--coucou, je suis passé par là--"); // on retrouve dans debug.log > ok
                die( json_encode( $response )) ;
                }


Donc, en résumé, pourquoi json_encode( $response ) n'est pas récupéré par mon script ??

Merci pour toute aide..

JPB