web-dev-qa-db-ja.com

メディアライブラリから画像のURLを取得する方法

添付ファイルIDを持っていますが、URLが必要です。添付オブジェクトからURLを取得するにはどうすればよいですか。

// When an image is selected, run a callback.
frame.on( 'select', function() {
    // Grab the selected attachment.
    var attachment = frame.state().get('selection').first();
    $('#' + id).val(attachment.id);
}); 

...

toJSON()関数が変換します。今それは働きます。

jQuery(document).ready(function($) {
var frame;

// Build the choose from library frame.
$(document).on("click", ".upload_image_button", function() {
    var id = $(this).attr('id').replace('_b', '');  

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

    // Create the media frame.
    frame = wp.media.frames.meta_image_frame = wp.media({
        // Tell the modal to show only images.
        library: {
            type: 'image'
        },
    });

    // When an image is selected, run a callback.
    frame.on( 'select', function() {
        // Grab the selected attachment.
        attachment = frame.state().get('selection').first().toJSON();
        $('#' + id).val(attachment.url);
    });

    frame.open();
    });
});
2
Layka

ToJSON()を使用してアタッチメント変数をJSONオブジェクトに変換する必要があります。それからあなたはその財産することができます。

つかいます

attachment = frame.state().get('selection').first().toJSON();

の代わりに

attachment = frame.state().get('selection').first();
1
Ifty

あなたが添付ファイルIDを持っているなら、あなたは添付ファイルのURLを取得するためにwp_get_attachment_url関数を呼び出すことができます。

<?php wp_get_attachment_url( $id ); ?>

wp_get_attachment_url 関数はIDを受け入れます。

添付ファイルID 12の使用例 ...

<?php echo wp_get_attachment_url( 12 ); ?>

http://example.net/wp-content/uploads/filenameのようなものを出力します

2
Robert hue