Tenga en cuenta que $content_width
global no solo se usa para imágenes, sino también para objetos incrustados, como el video. Por lo tanto, cualquier solución no será simplemente un caso de uso o soporte de $content_width
.
Por lo general, un tema restringirá las imágenes del área de contenido de varias maneras:
-
Grande Tamaño de imagen: definiendo
$content_width
algo apropiado para el diseño del tema
-
Original / completo Tamaño de la imagen: definir una regla CSS para
#content img { max-width: XXX; height: auto; }
para garantizar que las imágenes de tamaño completo que se insertan no rompan el diseño
-
Miniatura Tamaño de imagen: llame a
set_post_thumbnail_size()
para definir la Imagen destacada / Publicación en miniatura de miniaturas predeterminada thumbnail
tamaño. (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 ese tamaño personalizado en la ubicación de la plantilla específica, a través de the_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 resultar en una imagen con escala del navegador.
Valores definidos por el tema para imágenes grandes
Una opción sería redefinir la configuración para dimensiones de imagen grandes . (Proceda con precaución. Esto está bien para su propio sitio, pero un tema distribuido públicamente que interfiere con los ajustes de configuración del usuario es ... área gris en el mejor de los casos).
La configuración de la dimensión de la imagen grande se almacena como:
$large_image_width = get_option( 'large_size_w' );
$large_image_height = get_option( 'large_size_h' );
Por lo tanto, podría establecer esos valores de acuerdo con su valor $content_width
:
global $content_width;
update_option( 'large_size_w', $content_width );
update_option( 'large_size_h', $content_width );
(Por supuesto, querría poner un poco de seguridad / comprobación de errores alrededor de esto, según corresponda.)
Eliminar opción para insertar imágenes a tamaño completo
Si simplemente quiere evitar que los usuarios inserten imágenes a tamaño completo (nuevamente: proceda con precaución; esto puede ser territorio de Plugin), puede filtrar 'image_size_names_choose'
:
function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
unset( $possible_sizes['full'] );
return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );
Nuevamente: es posible que desee agregar algunos fallos sanos aquí, ya que este filtro se usa en más de un lugar.
Defina un tamaño de imagen personalizado para las imágenes de ancho de poste completo
En relación con la opción anterior, puede definir un tamaño de imagen 'full-post-width'
:
global $content_width;
add_image_size( 'full-post-width', $content_width, $content_width, false );
Luego, agrégalo a la lista de opciones disponibles:
function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
// Unset full image size
unset( $possible_sizes['full'] );
// Add full-post-width image size
$possible_sizes['full-post-width'] = 'Full Post Width';
// Return array
return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );