Intereting Posts
Запретить категории из этого запроса MySQL Использование масонства. Как сделать каждое эскизное изображение X-го столбца несколькими столбцами? Проверьте, является ли термин в таксономии? Buddypress – добавить область действия Это самый эффективный способ добавления файлов Javascript? Как получить сообщения из подкатегории категории по имени? что такое стандартный ulr для разработки плагина wordpress? Как активировать плагины для моих сайтов WordPress с удаленного сервера Изменение порядка сообщений после выполнения запроса Как импортировать 55 000 изображений (загруженных через FTP) в WordPress Media libary? Почему я должен поставить if (has_posts ()), пока (has_posts ()) недостаточно? Отправка формы в wordpress плагин Добавить дополнительное поле описания для определенных ролей / метаданных роли? Как загрузить тысячи изображений? Как сделать формы WordPress безопасными (HTTPS)

получать пользовательские размеры изображения из объекта javascript медиа-загрузчика

Я пытаюсь получить пользовательские размеры изображений, которые я создал с помощью add_image_size чтобы вернуться в объект javascript. Я знаю, как включить их в раскрывающийся список, но я не хочу / нуждаюсь в этом.

Текущий объект возвращает значения по умолчанию (полный, большой, средний и миниатюрный) в массиве, но ни один из нестандартных размеров.

Вот код, который я использую для установки экземпляра uploader

 jQuery('input.guide-logo-upload').on('click', function( event ){ event.preventDefault(); // If the media frame already exists, reopen it. if ( file_frame ) { file_frame.open(); return; } // Create the media frame. file_frame = wp.media.frames.file_frame = wp.media({ title: jQuery( this ).data( 'uploader_title' ), button: { text: jQuery( this ).data( 'uploader_button_text' ) }, multiple: false // force single file }); // run the callback when selected file_frame.on( 'select', function() { // make sure to only deal with the first item attachment = file_frame.state().get('selection').first().toJSON(); // WHERE ARE MY CUSTOM SIZES console.log(attachment); // Populate the field with the URL and show a preview below it jQuery('input#g-logo').val( attachment.url ); jQuery('input#g-logo-id').val( attachment.id ); jQuery('p.logo-description').after( '<img class="logo-display logo-140" src="' + attachment.sizes.thumbnail.url + '">' ); jQuery('p.logo-description').after( '<img class="logo-display logo-350" src="' + attachment.sizes.medium.url + '">' ); }); // Finally, open the modal file_frame.open(); }); 

Solutions Collecting From Web of "получать пользовательские размеры изображения из объекта javascript медиа-загрузчика"

благодаря другу в Twitter, я смог получить эту работу. Ниже приведен код.

 function wpse_110060_image_sizes_js( $response, $attachment, $meta ){ $size_array = array( 'custom_size_one', 'custom_size_two') ; foreach ( $size_array as $size ): if ( isset( $meta['sizes'][ $size ] ) ) { $attachment_url = wp_get_attachment_url( $attachment->ID ); $base_url = str_replace( wp_basename( $attachment_url ), '', $attachment_url ); $size_meta = $meta['sizes'][ $size ]; $response['sizes'][ $size ] = array( 'height' => $size_meta['height'], 'width' => $size_meta['width'], 'url' => $base_url . $size_meta['file'], 'orientation' => $size_meta['height'] > $size_meta['width'] ? 'portrait' : 'landscape', ); } endforeach; return $response; } add_filter ( 'wp_prepare_attachment_for_js', 'wpse_110060_image_sizes_js' , 10, 3 ); 

note: массив и foreach нужны только потому, что у меня есть два отдельных, которые мне нужно включить. если есть только 1, которые можно удалить.