Sidebar-Widgets in WordPress

Ich versuche mich gerade aus Entwicklersicht mit WordPress vertraut zu machen und bin schwer begeistert, wie einfach es ist ein Sidebar-Widget zu schreiben.

Ich habe auf der Seite Spectaculum-Geocachium ein paar Bilder mit myGallery in eine Bildergalerie gepackt. myGallery bietet unter anderem auch die Möglichkeit zufällig ausgewählte Bilder z.B. in der Sidebar anzuzeigen.

Hierzu muss man einfach folgenden Code an die richtige Stelle in die sidebar.php packen (wobei n die Anzahl darzustellender Bilder ist):

[php]
if (function_exists(‘myrandompic’))
myrandompic(n);
[/php]Nun ist aber die manuelle Anpassung der Sidebar nicht das schickste, wenn man Widgets nutzen möchte. Also habe ich mir die Anleitung für das widgetisieren von Plugins geschnappt und das Now-Reading-Widget von Rob Miller als Vorlage genommen und losgelegt.

Herausgekommen ist eine einzelne PHP-Datei mit dem myGalleryWidget.

Folgende Voraussetzungen müssen erfüllt sein:

  • das Widget-Plugin installiert sein.
  • Das Theme des Blogs muss „widgetized“ sein (z.B. Kubrick).
  • Das Galerie-Plugin muss installiert sein (Zur Installation des Galerie-Plugins einfach entlang der Dokumentation von myGallery vorgehen – oder das Howto der Familie Kaden verwenden).

Zur Installation:

  1. myGalleryWidget herunterladen und irgendwo hin auspacken.
  2. Die ausgepackte Datei myGalleryWidget.php in den Ordner <YourWordPressPath>/wp-content/plugins/widgets
    auf dem Server schieben.
  3. Das Plugin „myGallery widget“ aktivieren.
  4. Das Widget in den „Sidebar Widgets“ konfigurieren.

Konfiguration:

Screenshot des Konfigurations-Dialogs

In der Konfiguration kann die Überschrift über dem Widget, sowie die Anzahl der Bilder, die dargestellt werden soll, eingestellt werden.

[Update]

Wer das Bild in der Sidebar anders formatieren möchte, macht dazu einfach Änderungen in seiner CSS-Datei:

./wp-content/themes/DEINTHEME/style.css

Dort wird (am besten am Ende, da findet es sich leicht wieder) die Formatanweisung für das Zufallsbild eingetragen. Das Zufallsbild hat die Klasse „myrandompic“. Wer sich nicht sicher ist, was er tut, macht vor der Änderung eine Kopie der CSS-Datei.

Um zum Beispiel das Zufallsbild zentriert auszugeben trägt man folgende Zeile in die CSS-Datei ein:

.myrandompic { text-align: center; }

Wenn Ihr das Widget einsetzt, könnt Ihr ja einen kurzen Kommentar hinterlassen. Viel Spaß!

0 Gedanken zu „Sidebar-Widgets in WordPress

  • Doch noch nicht sooo super…. hab da noch ein kleineres Fehlerlein gefunden. Bei Firefox 2 (Mac) lässt sich das Bild nicht anklicken. Ob das aufm PC auch so ist weiss ich nicht. Bei Safari funktionierts

  • Erst einmal vielen dank für das Widget. Ich hatte auch das Problem, dass es erst nicht funktionierte wie bei „Tarishkan“. Ich musste in den Optionen von myGallery den Haken bei „Verwende LightboxJS für Zufallsbilder“ setzen. Danach funktionierte es einwandfrei. Danke und Gruß Jörg

  • Danke für das Widget! Funktioniert gut, nur eine Frage habe ich (jaja, Anfänger): Ist es möglich, das Bild innerhalb des Widget-„Rahmens“ zu zentrieren? Wenn ja, wie?

    Vielen Dank für die Antwort!

  • Ohne Gewähr, probier’s mal hiermit:

    .myrandompic { text-align: center; }

    Diese eine Zeile musst Du irgendwo in die Datei style.css in Deinem Theme einbauen (also in ./wp-content/themes/DEINTHEME/style.css). Am besten an das Ende. Mach von der Datei eventuell vorher eine Sicherheitskopie…

    Kannst ja mal ’nen Link posten, wo man es sich anschauen kann.

  • TAUSEND DANK für die hilfreiche Seite . Hatte lange vorher rumgebastelt aber nichts funzte 🙁 Und jetzt Funktionierts … zu 99% ich habe jetzt zwar Bilder in der Sidebar aber die wechseln nicht ….
    wäre Toll wenn du mir helfen könntest . Gruß

  • Christel: Eigentlich sollte bei jedem Laden der Seite ein anderes Bild in der Sidebar angezeigt werden. Voraussetzung ist natürlich, dass es ein paar Bilder in den Galerien gibt (nicht das zufällig immer dasselbe Bild rausgewürfelt wird). Schick doch mal einen Link.

  • Pingback: >> teK-one.de
  • prima widget.
    danke.
    wie kann ich erreichen, dass das vorschaubild in der sidebar zentriert dargestellt wird?

    mit quedlinbloggigen grüßen
    jwqlb

  • Hallo jwqlb,

    Ich habe den Text oben noch einmal angepasst. Ich beschreibe nun auch, wie man die Formatierung des Bildes einstellen kann. Ich hoffe die Beschreibung funktioniert für Dich. Bei Problemen melde Dich einfach nochmal.

    Für Kommentar-RSS-Leser: .myrandompic { text-align: center; } in die CSS-Datei eintragen!

  • Leider sind bei WordPress 2.3 die widgets bereits integriert. Bekomme mygallery „Random Pic“ nicht mehr zum laufen 🙁

    Vielleicht kannst Du hier Abhilfe schaffen?

  • Hi!
    Super widget… echt spitze.
    gäbe es aber auch die möglichkeit dass es mir nicht ein zufallsbild anzeigt, sondern dass automatisch ein bild aus den aktuellsten (zuletzt erstellten) galereien angezeigt wird?

    zudem wär super, wenn ich beim klick auf das bild gleich auf die galerie-seite komme, in der sich das bild befindet… ich weiß, viele wünsche, aber vielleicht hast da ja schon was in die richtung?

    grüsse und dank
    tom

  • Also bei mir klappt das nicht, allerdings war bei mir auch der widgets-Ordner gar nicht vorhanden. Hätte der schon vorhanden sein müssen, oder durfte ich den manuell anlegen ?

    Vorab vielen Dank für jede Hilfe
    Thomas

  • Hi Thomas,

    Den Widgets-Ordner einfach anlegen sollte eigentlich kein Problem sein. Nun die Frage nach dem „Benzin im Tank“: Das myGallery-Plugin ist installiert? Das Widget hast Du in die Sidebar gezogen?

    Gruß Peter.
    (btw. gleicher Jahrgang 😉 )

  • Konnte ich aus Zeitgründen bislang noch nicht ausprobieren – bin aber schon ganz heiß auf 2.5. Vielleicht installiere ich mal am Wochenende, dann gebe ich Bescheid.

  • Vielen Dank für die klasse Beschreibung und so weiter 😉
    Hab lange geflucht, weil ich kein Zufallsbild mit den Widgets hinbekommen habe. Nun klappt es einwandfrei!
    Danke!!!

  • Fein, fein.

    Aber…

    Sobald man in WordPress 2.5.1 den Ordner „widget“ händisch anlegt, zeigt das mygallery-Plugin folgende Aktualisierungsmeldung „Laden Sie Version 1.2.1.20070210b herunter“.
    Tut man dies, so werden auch die Plugins „del.icio.us widget“ und „Google Search widget“ als erneuerungsbedürftig gekennzeichnet (gleiche Versionsnummer) und überschreiben den Inhalt des widget-Ordners. Da ich beide Plugins nicht nutze, ist es egal und mich stört die Update-Meldung nicht.
    Es sollte jedoch möglich sein, das Script so umzuschreiben, daß nicht der widget- sondern ein anderer Ordner als „Heimatverzeichnis“ genutzt wird. Andere Plugins bringen ja auch ihr eigenes Verzeichnis mit.

    Trotzdem funktionierts…

    Vielen Dank.

  • Noch mal ich.

    Wozu wird der Speicherort der mygallery.php abgefragt und warum muß sie im Ordner „widgets“ bzw. darf sie nicht im plugin-Ordner liegen?

    Meine letztmalig vor zwanzig Jahren angewendeten Pascal-Kenntnisse hervorkramend modifizierte ich das Script in der Art, daß die Abfrage in Zeile 26 f. nicht durchgeführt wird.
    Die Zufallsbilder werden trotzdem ordnungsgemäß angezeigt.

  • Tja, gute Frage. Ich glaube es gibt tatsächlich keinen Grund, warum das Widget zwingend in dem Unterverzeichnis widgets liegen sollte.

    Als ich das Widget vor zwei Jahren implementiert habe, habe ich mir den Code bei anderen Widgets abgeschaut und das Widgets ebenfalls in den Ordner widgets gelegt.

    Das Problem mit der Update-Meldung ist mir neulich auch aufgefallen und hat mich bislang noch nicht gestört. Das ist aber eindeutig unschön.

    Ich habe momentan leider keinen schreibenden Zugriff auf den Quellcode, deswegen kann ich die Änderungen nicht vornehmen. Ich werde in den nächsten Tagen ein Update des Widgets und der Beschreibung oben machen.

  • Na dann lasse ich meine Änderung erst mal so drin und warte auf die erste Fehlermeldung…

    (*vormichhingemurmelt* Vielleicht sollte ich mich auch mal mit der PHP-Programmierung beschäftigen.)

Kommentare sind geschlossen.