Intereting Posts
Нужен логотип печати без идентификатора и класса Добавить пользователя meta после регистрации пользователем и войти в систему Лучший способ удалить синтаксис HTML из всего содержимого Загрузка пользовательского изображения Пользовательский порядок терминов для пользовательской таксономии в администраторе и веб-сайте Требуется ли meta_query числовые значения для целых чисел? Удалить пользовательскую базу таксономии Как получить доступ к переменным из файла функций в файлах тем Когда следует использовать wp_register_script () с помощью wp_enqueue_script () и просто wp_enqueue_script ()? Это рискованно, если я обновляю весь url в базе данных из-за изменения моего сайта? Ajax mousedown вызывает получение «отмененного» при нажатии ссылки Добавление сообщений WordPress с использованием phpmyadmin Ручное перемещение сообщений / страниц / комментариев / тегов из WPMU в WP3.0 выпадающий список другой запрос Сохранять CTP-сообщение для разных значений каждый день без перезаписывания предыдущих значений

получать пользовательские размеры изображения из объекта 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, которые можно удалить.