2

サンプルは、Wordpress 3.5 の独自のプラグインの Display Media Uploaderからのものです。

<script type="text/javascript">
var file_frame;

jQuery('.button-secondary').live('click', function( event ){

    event.preventDefault();

    if ( file_frame ) {
        file_frame.open();
        return;
    }

    file_frame = wp.media.frames.file_frame = wp.media(
        {
            title: 'Select File',
            button: {
                text: jQuery( this ).data( 'uploader_button_text' )
            },
            multiple: false
        }
    );

    file_frame.on('select', function() {
        attachment = file_frame.state().get('selection').first().toJSON();
        jQuery('#IMGsrc').val(attachment.url);
    });

    file_frame.open();
});

問題は

file_frame.on('select', function() {...});

DYNAMIC html を返さないでください。私はこのようなコードを試しました:

jQuery(document).on('select', file_frame, function() {...});
jQuery(document).on('select', file_frame.el, function() {...});

しかし、機能していません...

4

2 に答える 2

0

window.send_to_editor(html)は、新しいアップローダーでも互換性の理由で呼び出されますが、このように呼び出された場合は機能しないと思います。選択したオブジェクトの属性を使用して、リンク/画像のhtmlを作成できます。

于 2013-03-08T04:15:01.840 に答える
0

私は同様の問題だと思うものと戦った。問題の一部は、アップロード時に最初の添付ファイル オブジェクトが空で、エラーが発生することでした。

私のサイトで必要に応じて HTML を出力するコード例を次に示します。

// 画像が選択されたら、非表示のカスタム フィールドに ID を配置し、サムネイルを表示します。file_frame.on( '選択', 関数() {

var selection = file_frame.state().get('selection');

// Show Thumbs
var attachment_thumbs = selection.map( function( attachment ) {
  attachment = attachment.toJSON();
  if( attachment.id != '' ) { return '<img src="' + attachment.sizes.thumbnail.url + '" id="id-' + attachment.id + '" />'; }
}).join(' ');
$('#images-feedback').show();
$('#thumbs').html(attachment_thumbs);

});

お役に立てれば!

于 2013-03-21T00:31:35.510 に答える