toscho.design

WordPress: Headergrafik per Plugin ausblenden

Seit Version 2.9 kann man in WordPress-Themes die internen Funktionen für eine eigene Kopfgrafik nutzen mit der Funktion add_custom_image_header(). Jetzt bekommt der Nutzer des Themes im Backend unter Design/Kopfzeile eine nette kleine Bildverwaltung. Leider fehlt dort die Option, das Bild komplett wegzulassen.

Gute Themes bieten dafür eine Option an, TwentyTen und auch TwentyEleven leider nicht. Die nachträgliche Entfernung ist umständlich, wenn man kein Child-Theme erstellen möchte.

Deshalb habe ich ein kleines Plugin geschrieben, das sowohl das Bild im Frontend entfernt als auch den Menu-Eintrag im Backend.

Wie üblich – es gibt ein mindestens zwei Haken: Wenn im Theme nicht geprüft wird, ob überhaupt ein Bild vorhanden ist, ehe der Container dafür ausgegeben wird, bekommt man eine leere Fläche. Das ist dann eben ein Schrott-Theme. Davon gibt es leider zu viele.
Und die Seite im Backend ist immer noch erreichbar, wenn man die URL dahin kennt. Bilder kann man aber nicht mehr hochladen.

Als Beispiel für den Einsatz in der Praxis sei das Videoblog Drehlog genannt. Dort blogge ich mit ein paar Freunden ab und zu … tja … Videos.

Screenshot Drehlog

Irgendwie werde ich das Gefühl nicht los, einen leichteren Weg übersehen zu haben … sei’s drum.

14 Kommentare

  1. Günther am 03.08.2011 · 10:35

    Wer würde denn sowas aus welchem Grund machen wollen? Die Bilder sind doch immer das schönste! Am besten ist es eben doch, keine fertigen Themes zu nutzen sondern alles selber zu bauen. So schwierig ist es ja nun nicht, mit dem richtigen Programm.

  2. Thomas Scholz am 03.08.2011 · 11:27

    @Günther: Wenn die Kopfgrafik das Schönste am Blog ist, stimmt mit den Inhalten etwas nicht, oder?
    Viele Blogger können selbst kein Theme erstellen oder bezahlen. Die sind mit kostenlosen gut versorgt. Kopfgrafiken sind oft recht groß; sie kosten tüchtig Platz und Ladezeit. Im Drehlog beispielsweise lenken sie auch vom Inhalt ab.

  3. funkygog am 06.08.2011 · 21:27

    Also es gibt da schon eine einfachere Lösung.
    Einfach die Anzeige des Header-Bildes in der style.css "ausschalten"

    #branding img {
        display: none;
    }
  4. Thomas Scholz am 06.08.2011 · 22:36

    @funkygog: Das funktioniert nicht sehr gut: geladen wird das Bild immer noch – reine Verschwendung. Die nun nutzlose Option im Backend ist noch sichtbar. Und jedes Theme hat sein eigenes Markup, um das Bild zu referenzieren, oft griffe diese Regel also gar nicht.

  5. funkygog am 06.08.2011 · 22:53

    Hast recht, Probleme auszublenden ist nie eine gute Lösung. Aber Du hattest nach einer einfachen Lösung gefragt :-)
    Generell finde ich die Twenty-Themes unnötig komplex, gerade für Neulinge.

  6. Jan am 15.08.2011 · 09:26

    Es bestünde auch noch die Möglichkeit einfach das Bild aufm Webspace zu löschen. Die meisten Themes binden die ja sowieso via CSS als Background ein. Da gibts dann ja auch kein unschönes "Bild nicht vorhanden"-Bild

  7. Monica am 31.08.2011 · 13:12

    Wäre die einfachste Lösung nicht einfach, die Headergrafik einfach durch ein 1px x 1px zu ersetzen? Bild immer noch da, aber eigentlich dann doch nicht so wirklich - oder bricht das die Themes?

  8. Thomas Scholz am 31.08.2011 · 13:28

    Für die Dimensionen der Headergrafik werden normalerweise zwei Konstanten benutzt: HEADER_IMAGE_WIDTH und HEADER_IMAGE_HEIGHT. Das Theme sieht sich also nicht die Grafik selbst an, und es läßt die Angaben auch nicht weg. Eine Grafik falscher Größe würde dann bloß auf die vorgegebenen Werte gezerrt.

  9. Holger am 01.09.2011 · 22:20

    Beim TewntyTen Theme kann man in den Theme Optionen unter Header -> "Remove Header Image" das Header Bild ohne Probleme und mit einem Klick entfernen. Zumindest hab ich einen bei wordpress.com gehosteten Blog mit dem Theme wo diese Option zur verfügung steht..

  10. Marcell am 09.09.2011 · 09:35

    Ja, bei mir funktioniert das auch. Aber gelöst ist das Problem dadurch natürlich noch nicht.

  11. Lars am 09.09.2011 · 10:45

    Also gibt es quasi immer noch keinen konkreten Lösungsweg?! Das Einfachste wäre, wenn im WordPress-Themes einfach die Option "ohne Bild" nachträglich eingebaut wird. Ich denke, da wären vielen geholfen!

  12. Gottfried am 08.12.2011 · 01:40

    Hallo, also ein Plugin würde ich für sowas nicht verwenden. Wenn dann überhaut direkt im editor oder im CSS raus nehmen. Ich versuche mich bei den Plugins immer aufs nötigste zu beschrenken. Erhöht das nicht auch die Ladezeit wenn man das per Plugin löst?

  13. Thomas Scholz am 08.12.2011 · 02:47

    @Gottfried: Dieses Plugin verwendet man dann, wenn man woanders nicht anfassen kann. Die Menge der Plugins hat nichts mit der Ladezeit zu tun.

  14. Mike am 13.02.2012 · 22:04

    Ich habe zwar auch shared server und schau, dass ich möglichst wenig plugins lade, aber das Entfernen des Bildes bei einem meiner Projekte ist es mir wert, dieses Plugin zu installieren. Danke Thomas, ich habe zudem in vielen Jahren die Erfahrung gemacht, wenn ich was nicht über Plugin mache, sondern nen Hack, dann falle ich bei nem Update oder ähnlichem auf die Schnauze. Daher nutze ich sehr ungern "Sondereier".