Atributos de altura y ancho no se establecen con the_post_thumbnail

12 mar 2013, 12:17:40
Vistas: 13.5K
Votos: 0

Estoy usando el siguiente código para mostrar imágenes en la página de inicio:

if ( has_post_thumbnail() ) {the_post_thumbnail('postbox-thumb')

Pero la salida del código anterior no tiene la altura y el ancho en la etiqueta img. Por favor, ayúdame a resolver este problema.

Salida actual de ejemplo:

<img alt="Kiran inspecciona mina de carbón" class="attachment-postbox-thumb wp-post-image" src="http://i0.wp.com/www.indiahelpdesk.in/wp-content/uploads/2012/08/HY09-KIRAN_1170869f.jpg?resize=229%2C150">

Faltan los atributos height y width en la etiqueta img.

4
Comentarios

¿Por qué necesitas estos atributos? Si no se proporcionan, se usa el tamaño original de la imagen.

Horttcore Horttcore
12 mar 2013 12:31:08

Para un mejor rendimiento necesito estos atributos.

user28789 user28789
12 mar 2013 19:43:14

Según W3C (http://www.w3.org/TR/html401/struct/objects.html#h-13.7.1) no los necesitas, a menos que quieras sobrescribirlos. Y, para ser honesto, no veo por qué deberían mejorar el rendimiento de tu página. Si quieres mejorar el rendimiento general de tu página, deberías empezar por otro lugar que no sean los atributos de imagen. Si aún así quieres usarlos, mira mi respuesta a continuación.

Horttcore Horttcore
12 mar 2013 19:51:40

Estoy siguiendo las recomendaciones de PageSpeed

user28789 user28789
19 mar 2013 09:42:25
Todas las respuestas a la pregunta 3
0

En el segundo atributo de the_post_thumbnail() puedes dar atributos adicionales para la imagen.

the_post_thumbnail( 'postbox-thumb', array( 'width' => 100, 'height' => 100 ) )

Acabo de verificarlo nuevamente, el ancho y alto se establecen en las últimas versiones de WP, así que tal vez solo tengas que actualizar tu instalación de WordPress.

12 mar 2013 12:37:48
0

Consulta los parámetros para the_post_thumbnail Tamaños de Miniaturas

the_post_thumbnail( array(100, 100) );

O puedes añadir un tamaño de imagen personalizado para imágenes destacadas usando add_image_size en tu archivo de funciones, el cual incluye el ancho y alto

add_image_size( 'postbox-thumb', 100, 100, TRUE );
12 ago 2014 14:23:07
0

primero, agrega soporte para miniaturas de publicaciones (post-thumbnails) con el siguiente código en "function.php"

add_theme_support( 'post-thumbnails' );

luego, añade un tamaño de imagen personalizado con este código en "function.php"

add_image_size( 'portfolio', 600, 600, true );

usa ambos dentro de una función que debes enganchar a

add_action( 'after_setup_theme', 'prefix_theme_setup' );

ahora, dentro del loop, verifica si existe una imagen destacada

has_post_thumbnail()

luego llama a la imagen destacada

the_post_thumbnail( 'portfolio' );

también puedes establecer un atributo de clase y dar altura y ancho personalizados en CSS, manteniendo el ancho y alto iguales a los establecidos en add_image_size(); o manteniendo la misma proporción.

the_post_thumbnail( 'portfolio', array( 'class' => 'custom-class img-responsive' ) );

ahora puedes dar clases CSS personalizadas en tu CSS

.custom-class { width: 200px; height: 200px; }

código completo para function.php

/*
 * Configuración del tema
========================================*/
if ( ! function_exists( 'prefix_theme_setup' ) ) :
function prefix_theme_setup() {

    /*
     * Habilitar soporte para Miniaturas en publicaciones y páginas.
     */
    add_theme_support( 'post-thumbnails' );
    add_image_size( 'portfolio', 600, 600, true );

}
endif;
add_action( 'after_setup_theme', 'prefix_theme_setup' );

código completo para el archivo de plantilla

<?php if ( has_post_thumbnail() ) :
    the_post_thumbnail( 'portfolio', array( 'class' => 'custom-class img-responsive' ) );
endif; ?>

:-)

15 may 2015 22:42:25