私のテーマのフロントエンドで新しい3.5メディアアップローダを使っています( this exampleをベースにしています)。 'Select'
ボタンが押された後に画像に何かをしたいときはとても簡単です。
file_frame.on('select', function() {
// Get all attachments
var attachments = file_frame.state().get('selection').toJSON();
// Do stuff with attachments
});
しかし、添付ファイルをアップロードした直後にその添付ファイルを使用して何かしたい場合はどうなりますか?何かのようなもの:
file_frame.on('upload', function() {
// Do stuff with attachments
});
私は'wp-includes/js/media-models.js'
や'wp-includes/js/media-views.js'
に何も役に立つとは思いませんでした。
私はそれらのファイルで見つかったたくさんのイベントを添付しようとしました:
'add', 'url', 'select', 'ready', 'escapeHandler', 'keydown', 'attach', 'open', 'close', 'escape', 'recordTab', 'updateIndex', 'activate', 'dismiss', 'remove', 'reset', 'uploading', 'deactivate', 'create', 'render', 'change:content', 'scan', 'prepare', 'content:render:upload', 'content:render', 'content', 'updateIndex', 'recordTab', 'change:uploading', 'finish', 'done', 'upload', 'uploaded', 'save', 'saved','change:compat', 'compat'
しかし、これらすべてのイベントは、私がこれを必要とするときには発生しません。
ありがとうございます。
wp-includes/js/plupload/wp-plupload.js
で発生しているFileUploaded
イベントがあります。
あるいは(そしておそらくより良い方法では)あなたはあなた自身の成功コールバックでwp.Uploaderを拡張したいかもしれません。
(function($){
$.extend( wp.Uploader.prototype, {
success : function( file_attachment ){
console.log( file_attachment );
}
});
})(jQuery);