Metainfos im Backend
Theme Feature Content Width
Was sind «Responsive Images»
Theme Optimierung für «Responsive Images»
Wird nicht ausgegeben
Name innerhalb Mediathek
Entspricht nicht dem Universalattribut title
Bild bearbeiten in Beitrag
Erweiterte Optionen
if ( ! isset( $content_width ) ) {
$content_width = 600;
}
img {
height: auto;
max-width: 100%;
}
<img src="small.jpg"
srcset="large.jpg 1024w,
medium.jpg 640w,
small.jpg 320w"
sizes="(min-width: 36em) 33.3vw,
100vw"
alt="Alt-Text" />
srcset
sizes
<img src="http://domain.com/…/image.jpg" alt="Alt-Text"
width="1200" height="750"
srcset="http://domain.com/…/image-1200x750.jpg 1200w,
http://domain.com/…/image-320x200.jpg 320w,
http://domain.com/…/image-768x480.jpg 768w,
http://domain.com/…/image-600x375.jpg 600w"
sizes="Wait for it — B. Stinson">
Bild mit vollständiger Grösse eingefügt = Fallback (src)
Unser Browser kennt
und kann, mithilfe des srcset-Attribut, eine Auswahl aus verschiedenen Bildgrössen treffen.
Mögliche Gründe für unerwartetes Resultat:
Wurde bereits eine grössere Bildvariante geladen (Cache), wird keine kleinere geladen!
Geändertes Beispiel von
blog.kulturbanause.de
<img src="medium.jpg"
srcset="small.jpg 320w,
medium.jpg 600w,
large.jpg 900w"
sizes="100vw"
alt="Alt-Text">
Eine Info fehlt dem Browser noch:
Die Bilddimension innerhalb des
(mehrspaltigen) Layouts
sizes="(max-width: [ImageWidth]px) 100vw, [ImageWidth]px"
Wenn vom Theme nicht anders definiert:
Breakpoints für index.php, search.php & archive.php
Viewport bis 599px Breite
<img sizes="(max-width: 599px) calc(100vw - 50px),
Breakpoints für index.php, search.php & archive.php
Viewport bis 767px Breite
<img sizes="(max-width: 599px) calc(100vw - 50px),
(max-width: 767px) calc(100vw - 70px),
Breakpoints für index.php, search.php & archive.php
Viewport bis 991px Breite
<img sizes="(max-width: 599px) calc(100vw - 50px),
(max-width: 767px) calc(100vw - 70px),
(max-width: 991px) 429px,
Breakpoints für index.php, search.php & archive.php
Viewport bis 1199px Breite
<img sizes="(max-width: 599px) calc(100vw - 50px),
(max-width: 767px) calc(100vw - 70px),
(max-width: 991px) 429px,
(max-width: 1199px) 637px,
Breakpoints für index.php, search.php & archive.php
Viewport ab 1200px Breite
<img sizes="(max-width: 599px) calc(100vw - 50px),
(max-width: 767px) calc(100vw - 70px),
(max-width: 991px) 429px,
(max-width: 1199px) 637px,
354px">
Inhaltsbilder (wp_calculate_image_sizes)
<?php
function penguin_content_image_sizes_attr($size) {
// Singular posts with sidebar
if ( is_singular() ) {
return '(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 597px, 747px';
}
// Page full width without sidebar
if ( get_page_template_slug() === 'page-fullwidth.php' ) {
return '(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 679px, (max-width: 1199px) 839px, 1039px';
}
// 2 col blog with sidebar
else {
return '(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px';
}
}
add_filter('wp_calculate_image_sizes', 'penguin_content_image_sizes_attr', 10 , 2);
?>
Beitragsbilder (wp_get_attachment_image_attributes)
<?php
function penguin_post_thumbnail_sizes_attr( $attr, $attachment, $size ) {
if ( 'Penguin800X400' === $size ) {
$attr['sizes'] = '(max-width: 767px) calc(100vw - 30px), (max-width: 991px) 469px, (max-width: 1199px) 696.5px, 414px';
}
if ( 'Penguin800X400' === $size && ( is_sticky() ) ) {
$attr['sizes'] = '(max-width: 767px) calc(100vw - 30px), (max-width: 991px) 469px, (max-width: 1199px) 696.5px, 846.5px';
}
if ( 'full' === $size && ( is_singular() ) ) {
$attr['sizes'] = '100vw';
}
return $attr;
}
add_filter( 'wp_get_attachment_image_attributes', 'penguin_post_thumbnail_sizes_attr', 10 , 3 );
?>