Skulle ta väldigt massa text att förklara alla detaljer kring det här. Jag kan tänka mig göra det ifall du vill dyka ned i koden och databasen.
Men lite kort: Varje bild finns normalt i fem storlekar. Original, stor, mellan, tumme och post-thumbnail. Dessa är definierade och funkar så långt att bilderna sparas i dessa storlekar. Dock så har på något sätt plugins jag användt för att skala om bilder när definitionerna för dessa storlekar uppdaterats, gjort att metadatan för bilden, lagrad i wp_postmeta, försvunnit för några eller alla av storlekarna.
Jag har inte brytt mig om att avkoda metadatafältet, förrutom att lägga in radbrytningar. Tillräckligt läsbart ändå. Här är en sådan där tre av de fem storlekarna är kvar:
- Kod: Markera allt
a:6:
{
s:5:"width";
s:3:"800";
s:6:"height";
s:3:"600";
s:14:"hwstring_small";
s:23:"height='96' width='128'";
s:4:"file";
s:27:"2010/12/149562_1522-800.jpg";
s:5:"sizes";
a:2:{
s:9:"thumbnail";
a:3:{
s:4:"file";
s:27:"149562_1522-800-150x150.jpg";
s:5:"width";
s:3:"150";
s:6:"height";
s:3:"150";
}
s:6:"medium";
a:3:{
s:4:"file";
s:27:"149562_1522-800-300x225.jpg";
s:5:"width";
s:3:"300";
s:6:"height";
s:3:"225";
}
}
s:10:"image_meta";
a:10:{
s:8:"aperture";
s:3:"2.8";
s:6:"credit";
s:0:"";
s:6:"camera";
s:12:"FinePix 3800";
s:7:"caption";
s:0:"";
s:17:"created_timestamp";
s:10:"1087235175";
s:9:"copyright";
s:0:"";
s:12:"focal_length";
s:1:"6";
s:3:"iso";
s:3:"100";
s:13:"shutter_speed";
s:17:"0.066666666666667";
s:5:"title";
s:0:"";
}
}
Och här är SAMMA post en stund senare när jag kört några variationer på thumbnail rebuild:
- Kod: Markera allt
a:5:{s:5:"width";
s:3:"800";
s:6:"height";
s:3:"600";
s:14:"hwstring_small";
s:23:"height='96' width='128'";
s:4:"file";
s:27:"2010/12/149562_1522-800.jpg";
s:10:"image_meta";
a:10:{s:8:"aperture";
s:3:"2.8";
s:6:"credit";
s:0:"";
s:6:"camera";
s:12:"FinePix 3800";
s:7:"caption";
s:0:"";
s:17:"created_timestamp";
s:10:"1087235175";
s:9:"copyright";
s:0:"";
s:12:"focal_length";
s:1:"6";
s:3:"iso";
s:3:"100";
s:13:"shutter_speed";
s:17:"0.066666666666667";
s:5:"title";
s:0:"";
}}
Som du ser så har metadatan för alla storlekar utom originalstorlek försvunnit.
Mallen för sidan går ut på att plocka ut post-thumbnail och OM bredden är minst 691 (vilket är satt som storlek för post-thumbnail) så visas den i överkanten, så som du ser på flera av sidorna. Om den inte är det så visas den istället i mellan-storleken (satt till bredd 300) i högerkanten i början av artikeln.
Av någon anledning så verkar Wordpress falla tillbaka (i avsaknad av metadata) att räkna ut storleken utan CROP, vilket är en flagga för att säga att den klipper bilden för att få rätt proportioner.
Originalet för bilden ovan är 800x600 och den borde, som den gjort tidigare, skalan det 800 till 691 och sen klippa lika mycket ovan och nedan för att få höjden till 250. Istället så behandlas bilden utan CROP, så att 600 skalas ned till 250, vilket resulterar i att bredden blir 333. Och då 333 är mindre än 691 så används mellan-storleken istället för post-thumbnail.
Detta trots att själva filerna har förberetts på rätt sätt.
Så det verkar vara en kombination av bugg i wordpress och någon slags bugg i koden som skriver om metadatan i de rebuild-plugins jag användt. Den jag användt mest är
https://www.breiti.cc/wordpress/ajax-thumbnail-rebuild/ och övriga har jag installerat och testat på min lokala kopia i försök att reparera databasen.