Cuando uso las funciones que obtienen y generan la miniatura de la publicación, mostrarán la miniatura solicitada en el tamaño que especifique, pero si este tamaño no existe, mostrarán la miniatura en el tamaño original y obligarán al navegador a cambiar su tamaño.
¿Cómo puedo obligarlos a mostrar un marcador de posición como "sin imagen" en caso de que el tamaño solicitado no exista?
post-thumbnails
images
Alex
fuente
fuente
Respuestas:
Asumir que la pregunta es sobre
wp_get_attachment_image_src
.También podría tratarse
wp_get_attachment_link
, pero, aunque relacionado, este análisis no lo incluye.Me di cuenta de este problema al responder esta pregunta: ¿Cómo puedo ver todas las miniaturas generadas por WP en Media Manager? .
Refiérase a él para ver un código de trabajo relacionado con el problema de esta pregunta .
Y lleva a este tema del foro de WordPress .
La función wp_get_attachment_image_src ($ attach_id, $ size, $ icon) devuelve una matriz que contiene:
Si
[3]
es falso,original
se devuelven los datos de la imagen.Ambos
wp_get_attachment_image_src
ywp_get_attachment_link
confían en la funciónimage_downsize
, dentro/wp-includes/media.php
.Y ahí es donde se devuelve esta matriz de 4 elementos.
fuente
No estoy seguro de esto, pero sé que puede usar la función getimagesize () de php de esta manera:
y sé que no es una respuesta a la pregunta directamente, pero puede usar un complemento llamado Reconstrucción de miniaturas AJAX : este complemento le permite reconstruir las miniaturas de las publicaciones. Útil si agrega add_image_size () después de haber subido las miniaturas de las publicaciones.
fuente
Así es como pude mostrar una miniatura solo si existe un tamaño solicitado:
Para obtener más información sobre
wp_get_attachment_image_src
leer el Codex.fuente
Hay un complemento que realmente creará el tamaño de la imagen automáticamente si no existe. http://austinmatzko.com/wordpress-plugins/filosofo-custom-image-sizes/
Todavía no he necesitado usar este complemento. Pero vale la pena intentarlo. Se habla de agregar una funcionalidad similar al núcleo de WP, tal vez en 3.2 http://core.trac.wordpress.org/ticket/15311
fuente
Parece que es una mejor manera. Use la variable global $ _wp_additional_image_sizes, almacena todos los tamaños de imagen registrados. Entonces, si desea verificar si se define un nombre de tamaño de imagen:
fuente
El mejor enfoque es utilizar la función incorporada "get_intermediate_image_sizes" de Wordpress para devolver la lista completa de tamaños de imagen como una matriz y luego revisar eso.
fuente
Tal vez esto ayude
de: http://codex.wordpress.org/Function_Reference/has_post_thumbnail
Uso algo como esto para verificar si el tamaño de la imagen existe:
Espero que te ayude a seguir.
fuente