Simpler Code für ein Zufallsbild im WordPress-Template

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.

Kommentare

  
  1. nickbohle sagt:

    Hallo Frank!

    Danke für den Tipp. Erspart mir nen Plugin (randomheader).

    Gruß
    Nick

  2. Gabi sagt:

    mit rand() kann man wirklich vielerlei anstellen - z.B. Zufallslinks, Zufallszitate, Zufallsbilder.

    Das funktioniert auch im css: Gabis BLOGhäuschen: PHP-Code in der CSS-Datei

    Auf diese Weise könnte man sogar ein ganzes Layout per Zufall immer wieder neu generieren - ob das sinnvoll ist, sei dahingestellt ;-)

  3. cSign sagt:

    Und wie "strickt" man es in die sidebar-widgets (widget.php) wo/wie (als Nicht-PHPler ;-) ) ein?

  4. Die Lösung ist nicht für Widgets gedacht. Dazu muss man wesentlich mehr machen. Aber es gibt sicher ein Widget-Plugin, was diese Aufgabe erfüllt.
    Oder man baut den Code direkt in die sidebar.php ein, aber ein wenig PHP sollte man können, oder zumindest lernen wollen.

  5. Robert sagt:

    Hi Frank, gutes Beispiel! Schön schlanker Code. Kleiner Wermutstropfen: Man muss halt in die PHP-Funktion rein wenn man neue Bilder hinzufügen möchte. Ein umfangreicheres Skript kann da (oder sollte) z.B. die Funktion bieten, dass alle Bilder in einem Ordner automatisch ausgelesen werden und eines per Zufall gewählt wird. Aber für Leute, die sich nicht vor PHP-Code erschrecken, ist das eine gute Alternative!

  6. @Robert: dazu ist das zweite Beispiel, welches alle Dateien eines definierten Ordners ausliest. Das nutze ich bsp.weise im aktuellen Header des Blog. Dabei muss man dann die Bilder nicht nachpflegen.

  7. Robert sagt:

    @ Frank: Asche auf mein Haupt, typischer Fall von RTFS (Read This Fine Script) ;-) Hatte es mir nicht so genau angeschaut. Noch eine kleine Anregung: Das Alt-Attribut der Bilder könnte man noch sinnvoll füllen, indem man den Dateinamen (der ja schon als Variable existiert) dafür verwendet. Rechts das ".jpg" kann man ja wegschneiden. Dazu muss der Name halt aussagekräftig gewählt werden.

  8. ratlos sagt:

    Hallo Franke,
    interessanter Beitrag.
    Ich habe jedoch eine Frage...
    Wie kann ich die jeweiligen Zufallsbilder einzeln verlinken?
    Also, dass jedes Bild einen entsprechend Link hat. Keinen Zufallslink.
    Grüße
    der Ratlose :)

  9. ratlos » mit der Lösung nicht machbar, da man keinen Bezug zur ID hat. Dazu müsste man weiter ausholen oder per Feed die Daten holen.

  10. Mirjam sagt:

    Einfach ein dickes Dankeschön für diese clevere Lösung.

  11. Lefdi sagt:

    Hi Frank,
    das klingt nicht schlecht. Ich suche jedoch eine Lösung wie ich die Bilder auf einer Seite wechseln kann.
    Also ich hätte gerne, dass auf der Startseite "Home" immer wieder ein anderes Bild kommt.

    Funktioniert das mit der oben beschriebenen Methode auch....?

    Lefdi

  12. @Lefdi: Die Änderung in der obigen Version erscheint bei jedem Reload der Seite, nicht als Slideshow. Dazu ist JavaScript oder Flash nötig.

  13. aebby sagt:

    Hallo Frank, ich lese schon eine Weile mit, jetzt mein erster Kommentar und ein Dankeschön für die Idee hier, damit habe ich genau die Lösung gebastelt die ich gebraucht habe. Ich habe sowohl vom Beitrag als auch in der Blogroll verlinkt - ok?
    grüße Aebby

  14. hombertho sagt:

    Super Tipp, einfach und genial. Genau das was ich für meinen Blog gesucht hatte. Vielen Dank Grüße Thomas

  15. einfacher gehts wirklich nicht, Danke für den Tipp.

  16. Stephan sagt:

    Hallo Frank,

    ich muss jetzt doch noch einmal nachfragen, da der Einbau bei mir nicht so richtig funktioniert.
    Ich habe gesehen, dass deine Thumbnailbilder im Header alle den Zusatz ".thumbnail" haben, wobei meine Thumbnails in Deinem tollen Grey-Theme alle den Zusatz "-128x85" tragen. Ich denke mal, dass dies nicht ganz unentscheidend ist, für die Anzeige der Bilder auf einer anderen Seite.

    Auch ist mir noch nicht ganz klar, welche Domain in Deinem Beispielscript eingetragen werden muss. Egal mit welcher URL ich es versuche, die Bilder werden einfach nicht angezeigt.

    Kannst Du mir möglicherweise noch einen Tipp geben?

    Vielen Dank vorab und schönen dritten Advent.

    Gruß Stephan

    • @Stephan: beim Upload der Bilder werden ja nach WordPress-Version unterschiedliche Namen erzeugt. Aber anstatt thumbnail kann man ja auch den Wert 128x85 o.ä. nehmen.

  17. Andrea sagt:

    Hallo Frank,

    ich habe das gleiche Problem wie Stefan - die Bilder, die von WP 2.7 erzeugt werden, heißen bsp. xxx-150x150.jpg oder xxx-480x640.jpg. Leider bin ich nicht php-fit ;-) und weiß nun nicht, wie ich den Code oben entsprechend anpasse. Vielleicht kannst du mir auf den richtigen Weg bringen? Danke!

    LG Andrea

  18. Hallo Frank,

    vielen Dank für das sehr ausführliche und anschauliche Tutorial...und größten Respekt an dein Blog Template...das ist die User Experience, die man sich andernorts nur wünschen kann...

    Ich habe nur noch eine kleine Frage...PHP funktioniert ja nur bei einem neuen Pageload...gibt es diese Funktion auch in JavaScript, sodass ich das Bild automatisch per window onload alle paar Sekunden neu laden lassen kann...bräuchte diese Funktion für meine Zitate und Sprüche Website...

    wäre dir äußerst dankbar für ein kurzes Kommentar.

  19. danke für den Denkanstoß...es gab im Internet doch eine Fülle an Code Templates für derartige Funktionen...ich habe mich mal an diesem Code orientiert....http://www.free-solutions.de/js/dokument_bildertausch_zufall.html

  20. jokkel sagt:

    Danke, das ist wirklich simpel, ich hab meine Headerrotation damit ersetzt, die war zuvor in zwei Dateien ausgelagert.

Trackbacks

  1. [...] header” by Patrick David for having a random picture in my header. Today, I found a better solution [...]

  2. [...] Es sollte aber nicht nur eines sein, sondern verschiedene. Nach langer suche bin Ich auf folgender Seite fündig geworden. Es muss lediglich eine Codezeile in die header.php eingefügt [...]

© 2013, since 2005 bueltge.de [by:ltge.de] · Theme is built by ThemeShift