El $content_width
GLOBAL en WordPress afecta muchos temas e incluso algunos complementos al limitar el tamaño de las imágenes y las incrustaciones en las publicaciones, es un requisito para los temas enviados a wordpress.org.
Se establece mediante el uso de:
$content_width = 584; // Twenty Twelve example
Si inserta una imagen grande (por defecto 1024x1024) en una publicación, resulta en:
src="../wp-content/uploads/2013/02/IMG_1390-1024x682.jpg" width="584" height="328"
Si, en cambio, elimina esta configuración global e inserta el tamaño real de la imagen, establecer con add_image_size
ella da como resultado:
src="../wp-content/uploads/2013/02/IMG_13901-584x328.jpg" width="584" height="328"
Eliminar el archivo global e insertar imágenes grandes, lo cual es muy común , a menudo resulta en un ahorro de más de 2 veces, en páginas con múltiples imágenes veo cientos de KB guardados en la carga de la página.
¿Usar add_image_size
y eliminar la capacidad de insertar imágenes de tamaño completo no es una mejor opción?
PD. Escribí sobre esto aquí con datos más precisos
fuente
Respuestas:
Tenga en cuenta que el
$content_width
global no solo se usa para imágenes, sino también para objetos incrustados, como video. Por lo tanto, cualquier solución no será simplemente un caso de caída del uso / soporte de$content_width
sí mismo.Por lo general, un tema restringirá las imágenes del área de contenido de varias maneras:
$content_width
algo apropiado para el diseño del tema#content img { max-width: XXX; height: auto; }
garantizar que las imágenes de tamaño completo que se insertan no rompan el diseñoset_post_thumbnail_size()
para definir elthumbnail
tamaño predeterminado de Imagen destacada / Publicar miniatura . (Nota: no recomiendo personalmente usar este método. Defina tamaños de imagen personalizados específicos para una ubicación determinada para una imagen destacada, y luego llame a ese tamaño personalizado en la ubicación específica de la plantilla, a través dethe_post_thumbnail( $size )
).Como ha descubierto, debido a la forma en que WordPress selecciona con un tamaño de imagen intermedio para usar en cualquier solicitud de imagen dada, esa solicitud podría generar una imagen a escala del navegador.
Valores definidos por tema para imagen grande
Una opción sería redefinir la configuración para grandes dimensiones de imagen . (Proceda con precaución. Esto está bien para su propio sitio, pero un Tema distribuido públicamente que se mete con los ajustes de configuración del usuario es ... área gris en el mejor de los casos).
La configuración de dimensión de imagen grande se almacena como:
Por lo tanto, puede establecer esos valores de acuerdo con su
$content_width
valor:(Por supuesto, desearía poner un poco de verificación de seguridad / error alrededor de esto, según corresponda).
Eliminar opción para insertar imágenes de tamaño completo
Si simplemente desea evitar que los usuarios inserten imágenes de tamaño completo (nuevamente: proceda con precaución; esto puede ser territorio de Complementos), puede filtrar
'image_size_names_choose'
:Una vez más: es posible que desee agregar algunas fallas de seguridad sensatas aquí, ya que este filtro se usa en más de un lugar.
Defina un tamaño de imagen personalizado para imágenes de ancho completo posterior
En relación con la opción anterior, puede definir un
'full-post-width'
tamaño de imagen:Luego, agréguelo a la lista de opciones disponibles:
fuente
get_option
valores. El resto es similar a la esencia que estoy usando gist.github.com/wycks/4949242 que estaba vinculada en mi enlace. También parece ser un área gris sobre cómo hacer que esto realmente escale si se cambia el tema.$content_width
o no configurarlo, creo que todavía se aplica por defecto a los objetos incrustados.image_size_names_choose
filtro hasta ahora! He estado reemplazando todo ese campo para obtener mis tamaños personalizados hasta ahora. ¿Es eso nuevo en 3.5 Chip?add_image_size
multilingüe, y luego pensé que también sería bueno usarlo para este problema de tamaño de imagen. Si no necesita localización, puede colocarlo en la matriz en lugar de codificarlo.Sí, eso creo. Para solucionar el
$content_width
problema de los temas enviados al repositorio, uso filtros de opciones para forzar los tamaños que he elegido para el diseño.fuente