Bildgrößen im RSS-Feed beeinflussen

Seit Jahren wird gepredigt, man solle Webinhalt tunlichst vom Outfit trennen, fast genauso lange übe ich mich in der korrekten Anwendung von CSS (und quäle mich mit browserspezifischen Eigenheiten). Dann kam das Blog, mit ihm WordPress und der Vorsatz, am fremdentworfenen Theme kein Bit zu ändern. Endlich kein CSS mehr hacken!

Wäre da nicht diese diabolische Tendenz zum Möbelrücken, die mich permanent über die Umgestaltung des Blogs nachdenken lässt: Hier etwas Farbe, dort ein wenig an der Kommentarfunktion gedreht, da ein neues Design anprobiert… Huch, da lappen doch die Bilder über die Ränder der Artikel hinaus. Ich hätte sie wohl besser nicht per <img width="520"> auf Artikelbreite skaliert. Also grase ich einmal durch die Datenbank und entferne sämtliche dieser lästigen Größenangaben. Um anschließend im Stylesheet meines Themes folgende Anweisung zu notieren:

img.size-large {
      display: block;
      width: 520px;
      margin: auto; 
}

Funktioniert. Im Blog. In den Feeds springen mich riesige Bilder an, weil das Stylesheet auf diese natürlich keine Anwendung findet. Und die Ausrichtung stimmt auch nicht. Mist, da hab ich mir ja was eingebrockt. Ich google und finde das Plugin Align RSS Images, das die Ausrichtung der Bilder im Feed korrigiert. Die Bildgrößen ließen sich über ein PHP-Skript namens TimThumb anpassen und dabei gleich noch unnötiger Overhead vermeiden. Leider resultieren etliche Tests in diversen Fehlermeldungen, deren Ursachen sich zwar beseitigen lassen, aber nee, das Konstrukt scheint mir zu fragil. Diverse „image resizing“-Plugins später werfe ich fast das Handtuch.

Gut, dann manipuliere ich eben die Feed-Erzeugung. Äh, Moment. Was macht dieses kürzlich installierte Alignment-Plugin eigentlich genau? Ha! Es überprüft den Feed auf diverse CSS-Klassen zur Ausrichtung und Beschriftung von Bildern und fügt dem img-Tag einen style-Block mit den gewünschten Attributen hinzu. Nicht ganz standardkonform, aber den Feed-Validator des W3C stört’s nicht. Prima, ich erweitere das Attribut-Array des Plugins um eine Zeile:

$explicit_alignment_styles = array(
      'img.size-large' => 'width: 520px;',
);

Haha! Problem gelöst. Die Bilder haben nun auch in den Feeds eine attraktive Größe.

P.S.: Ja, das geht auch eleganter. Sind die Bildgrößen in den einzelnen Artikeln verankert, schrumpfen nach dem Designwechsel überlappende Bilder durch folgende Zeilen im Stylesheet des neuen Themes aufs richtige Maß:

img {
      max-width: 100%;
      height: auto;
}

Eine Feed-Manipulation ist dann unnötig. Nachher ist man immer schlauer.