以前のMedia Libraryウィンドウは、次のようにして呼び出すことができました。
tb_show("Upload image", "media-upload.php?type=image&TB_iframe=1&width=640&height=520");
これはWP3.5でもまだ機能します。しかし、私は新しいメディアマネージャを開く方法を疑問に思いますか? Thickboxでは処理されなくなりました - tb_show()
。
アドバイスをありがとう!
記事から テーマオプションでWordPress 3.5メディアアップローダを使用する方法(codestag.comによる)、 WordPress 3.5の使用)プラグイン内のメディアアップローダ(by mikejolley.com)。 Mike Jolleyの記事にはいくつかのNiceトリックがあります。
重要な注意事項:アップローダが使用されるページがある場合にはまだすべてのメディアJS APIがないので、 wp_enqueue_media()
を呼び出す必要があります。
カスタムMeta Boxにこのようなボタンがあるとします。
<div class="uploader">
<input type="text" name="settings[_wpse_82857]" id="_wpse_82857" />
<input class="button" name="_wpse_82857_button" id="_wpse_82857_button" value="Upload" />
</div>
次のスクリプトは、新しいアップローダを呼び出し、次の場合に添付ファイルのパスで入力テキストフィールド#_wpse_82857
を埋めます。 Insert into post クリックされます。
jQuery(document).ready(function($)
{
var _custom_media = true,
_orig_send_attachment = wp.media.editor.send.attachment;
// ADJUST THIS to match the correct button
$('.uploader .button').click(function(e)
{
var send_attachment_bkp = wp.media.editor.send.attachment;
var button = $(this);
var id = button.attr('id').replace('_button', '');
_custom_media = true;
wp.media.editor.send.attachment = function(props, attachment)
{
if ( _custom_media )
{
$("#"+id).val(attachment.url);
} else {
return _orig_send_attachment.apply( this, [props, attachment] );
};
}
wp.media.editor.open(button);
return false;
});
$('.add_media').on('click', function()
{
_custom_media = false;
});
});