Intereting Posts
Проблема с отладочной загрузкой: какая часть WP имеет фактическое изменение размера изображения? как включить различное количество ревизий для разных блогов при использовании WPMU? Перезаписать файл темы из плагина Сообщения WP_Query по расстоянию на основе LAT & LNG в базе данных Переключить язык интерфейса на определенные страницы. Как я могу это сделать, когда я нажимаю на один из пунктов меню, на этой странице отображаются только сообщения с той же категорией? Обрезать изображение из поля настройки получателя get_theme_mod Общие рекомендации по обращению к страницам, ориентированным на контент Как я могу показать стандартный HTML-код для любой темы, которую я устанавливаю? Где я могу продавать темы WordPress и плагины? Классы CSS для темы Динамическое создание нескольких виджетов из шаблонов Mustache Как отладить «Уведомление: неопределенный индекс» в запросе 5 блогов на одном сайте WordPress Настроить profile.php

Получить URL, ширину и высоту изображения, где ширина и высота указаны как минимум

Возможно ли получить URL, высоту и ширину изображения, где высота и ширина как минимум определяют размер, который я указываю?

wp_get_attachment_image_src() почти делает это, но не совсем, захватывает вместо этого изображение, где либо одна из высоты или ширины, как минимум, определяет размер.

пример

Например, это -> wp_get_attachment_image_src(get_the_ID(), array(208,208)); вернет эти результаты –

 array ( 0 => 'http://localhost/wp-content/uploads/2014/04/image-name-300x168.jpg', 1 => 208, 2 => 116, 3 => true, ) 

Как вы можете видеть, высота меньше 208, поэтому, когда я показываю изображение с использованием этих атрибутов, он растягивается.

поэтому в случае вышеизложенного я фактически потребовал бы, чтобы WP нашел следующее изображение размера и вернул эти результаты –

 array ( 0 => 'http://localhost/wp-content/uploads/2014/04/image-name-672x372.jpg', 1 => 376, 2 => 208, 3 => true, ) 

Естественно, я не просто хочу захватить оригинальное (таким образом, самое большое) изображение, так как это будет излишне потреблять полосу пропускания и замедлять загрузку страницы.

Задний план

В случае, если вам интересно, почему я требую этого, я показываю 4x изображения подряд в квадратном контейнере (208×208). Изображения расположены как по горизонтали, так и по вертикали, и мне нужны изображения, чтобы заполнить контейнер, будучи как можно меньше.

Код

 <?php if($this->items->have_posts()) : while($this->items->have_posts()) : $this->items->the_post(); $last = ($this->is_last_on_line()) ? 'last' : false; $media_preview = wp_get_attachment_image_src(get_the_ID(), array(208,208)); $sizing = ($media_preview[1] >= $media_preview[2]) ? 'height="208"' : 'width="208"'; ?> <div id="post-<?php the_ID(); ?>" class="preview-container <?php echo $last; ?>"> <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"> <img src="<?php echo $media_preview[0]; ?>" <?php echo $sizing; ?> /> </a> </div> <?php endwhile; endif; wp_reset_query(); 

Solutions Collecting From Web of "Получить URL, ширину и высоту изображения, где ширина и высота указаны как минимум"

Если у вас размер квадратного контейнера перед рукой, как вы, 208x208px, то почему бы просто не добавить размер пользовательского изображения в свой файл функций и назвать этот размер изображения в вашем шаблоне.

Добавьте это в свои темы functions.php:

 add_image_size( 'custom-size', 208, 208, true ); 

если вы используете WordPress 3.9, вы можете использовать обрезку, чтобы вы могли использовать ее следующим образом:

 add_image_size( 'custom-size', 220, 220, array( 'center', 'center' ) ); 

Затем назовите его в файле шаблона:

 $media_preview = wp_get_attachment_url( get_post_thumbnail_id($post->ID, 'custom-size') );