Когда я использую функции, которые получают и выводят миниатюру записи, они будут отображать запрашиваемую миниатюру в указанном вами размере, но если этот размер не существует, они отобразят миниатюру в исходном размере и заставят браузер изменить ее размер.
Как я могу заставить их отображать заполнитель типа «нет изображения», если запрошенный размер не существует?
Ответы:
Предполагая, что вопрос о
wp_get_attachment_image_src
.Это может быть также
wp_get_attachment_link
, но, хотя и связано, этот анализ не включает его.Узнав об этой проблеме, отвечая на этот вопрос: Как я могу просмотреть все сгенерированные WP эскизы в Media Manager? ,
Обратитесь к нему, чтобы увидеть рабочий код, касающийся проблемы по этому Вопросу .
И это привело к этой теме форума WordPress .
Функция wp_get_attachment_image_src ($ attachment_id, $ size, $ icon) возвращает массив, содержащий:
Если
[3]
false,original
данные изображения возвращаются.Оба
wp_get_attachment_image_src
иwp_get_attachment_link
полагаются на функциюimage_downsize
, внутри/wp-includes/media.php
.И вот где этот массив из 4 предметов возвращается.
источник
Я не уверен в этом, но я знаю, что вы можете использовать функцию php getimagesize () примерно так:
и я знаю, что это не ответ на вопрос напрямую, но вы можете использовать плагин под названием AJAX Thumbnail Rebuild - этот плагин позволяет вам перестраивать миниатюры постов. Полезно, если вы добавили add_image_size () после того, как уже загрузили миниатюры сообщений.
источник
Вот как я смог отобразить миниатюру, только если существует запрошенный размер:
Чтобы узнать больше о
wp_get_attachment_image_src
прочтении Кодекса.источник
Есть плагин, который на самом деле автоматически создаст размер изображения, если он не существует. http://austinmatzko.com/wordpress-plugins/filosofo-custom-image-sizes/
Мне пока не нужно было использовать этот плагин. Но оно того стоит. Говорят о добавлении подобной функциональности к ядру WP, возможно, в 3.2 http://core.trac.wordpress.org/ticket/15311
источник
Кажется, это лучший способ. Используйте глобальную переменную $ _wp_additional_image_sizes, она хранит все зарегистрированные image_size. Поэтому, если вы хотите проверить, определено ли имя размера изображения:
источник
Наилучший подход - использовать встроенную в Wordpress функцию «get_intermediate_image_sizes» для возврата полного списка размеров изображений в виде массива, а затем просмотреть его.
источник
Может быть, это поможет
from: http://codex.wordpress.org/Function_Reference/has_post_thumbnail
Я использую что-то вроде этого, чтобы проверить, существует ли размер изображения:
Надеюсь, это поможет вам.
источник