1

我似乎无法使用 Wordpress 媒体上传检索特定的图像类型,例如缩略图、缩略图或后缩略图。

我得到的只是图像原始大小的 url,因此我显示了一个巨大的图像而不是缩略图或定义的图像大小。

这是我的脚本:

jQuery("#submit_logo_button").click(function(e){
e.preventDefault();
var custom_file_frame;
if (typeof(custom_file_frame)!=="undefined") {
     custom_file_frame.close();
  }

  //Create WP media frame.
  custom_file_frame = wp.media.frames.customHeader = wp.media({
     //Title of media manager frame
     title: "Thumbs - Choose Logo",
     library: {
        type: 'image'
     },
     button: {
        //Button text
        text: "Select Logo"
     },
     size: "post-thumbnail",//shouldn't this work?!?
     //Do not allow multiple files, if you want multiple, set true
     multiple: false
  });

  //callback for selected image
  custom_file_frame.on('select', function() {
     var attachment = custom_file_frame.state().get('selection').first().toJSON();
     jQuery("#image_thumbnail").attr("src", attachment.url);

  });

  //Open modal
  custom_file_frame.open();

});

谢谢 :)

4

3 回答 3

1

attachment.sizes您可以在 object 的子对象中循环attachment,如下所示:

custom_file_frame.on('select', function() {
    var attachment = custom_file_frame.state().get('selection').first().toJSON();

    /*  The Loop here  */

    $.each(attachment.sizes, function( name, attribs ) {
        console.log( name );
        $.each( attribs, function( attrib, value ) {
            console.log( "\t" + attrib + " ==> " + value);
        });
    });


});

因此,您也可以检索自定义图像尺寸。

;-)

于 2017-02-21T13:33:11.033 回答
0

不是一个完整的遮阳篷,我无法获得自定义图像尺寸,只有下面列出的这些。

console.log(attachment.sizes.thumbnail.url);

//I can get any image type using:

jQuery("#indot_under_logo_img").attr("src", attachment.sizes.thumbnail.url);

//or

jQuery("#indot_under_logo_img").attr("src", attachment.sizes.full.url);

//or

jQuery("#indot_under_logo_img").attr("src", attachment.sizes.medium.url);
于 2013-07-29T15:34:11.797 回答
0
if( attachment.sizes){
    if(   attachment.sizes.thumbnail !== undefined  ) url_image=attachment.sizes.thumbnail.url; 
    else if( attachment.sizes.medium !== undefined ) url_image=attachment.sizes.medium.url;
    else url_image=attachment.sizes.full.url;

    console.log(  url_image  );
    jQuery('<li data-id="'+attachment.id+'"><img src="'+url_image+'"></li>').appendTo(blocImages);
} 
于 2015-12-13T23:46:18.357 回答