Artikel vom 7. Oktober 2008
wpSLEEP, WordPress-Plugin für zeitliche Steuerung der Teile eines Artikels
WordPress bietet von Haus aus eine komfortable Möglichkeit verfasste Artikel zeitversetzt zu veröffentlichen. Die Vorteile dieser dienlichen Funktionalität liegen auf der Hand: Beiträge können vorab fertig gestellt werden und gehen Tage später oder eben um Mitternacht automatisch online – ohne persönlich vor Ort zu sein, ohne den Schalter manuell umlegen zu müssen. wpSLEEP basiert auf gleichem Gedanken und steuert Bestandteile der Beiträge nach zeitlichen Vorgaben des Verfassers.
English Version
» The WordPress plugin wpSLEEP – Easy time control for parts of a post
wpSLEEP legt Textabsätze zeitversetzt schlafen
Einfach ausgedrückt: Im eigentlichen Beitrag werden Textpassagen, Grafiken oder andere Elemente nach vorgegebenem Muster markiert und mit einem Start- und/oder Enddatum versehen. Nach dem Speichern und Publizieren des Beitrags ist der markierte Bereich nur während des angegebenen Zeitfensters sichtbar (z.B. vom 01.10.2008 13:00 bis zum 31.12.2008 18:30).
Als Beispiel können grafische Banner oder Textlinks gelten, die für einen bestimmten Zeitraum gebucht wurden. Nach identischem Prinzip können Absätze bzw. Abschnitte im Beitrag durch Zuweisung der Lebensdauer vorerst aus- und zum späteren Zeitpunkt wieder eingeblendet werden. Die Variationen sind nahezu unbegrenzt!
Sprungmarken
Features
- Keine Datenbank notwendig
- Schnelle Ausführung, da nur Minimum an Code
- Kein Admin-Panel vonnöten. Alle Zeitangaben sind direkt im Beitrag
Funktionsweise
Soll ein bestimmter (Text-)Block innerhalb eines Beitrags mit aktiver Zeitsteuerung versehen werden, so muss diese Sektion vom speziellen Shortcode [wpsleep] … [/wpsleep] umflossen werden. Der vom WordPress-Plugin wpSLEEP zur Verfügung gestellte Shortcode (mindestens WordPress 2.5 erforderlich) ist in der Lage im nachfolgenden Beispiel abgebildete Attribute als Parameter entgegenzunehmen, um die selektierte Area zum gewollten Zeitpunkt ein- und nach Wunsch wieder auszublenden.
Beispiele
- [wpsleep start="31.12.2008 09:00"]Dieser Abschnitt ist jetzt unsichtbar, aber ab dem 31.12.2008 um 9 Uhr sieht ihn jeder[/wpsleep]
- [wpsleep start="07.10.2008 09:00" end="08.10.2008" alt="Alternativer Text"]Dieser Abschnitt ist nur wenige Stunden aktiv, die restliche Zeit ist der alternative Text sichtbar[/wpsleep]
- [wpsleep start="09:00" end="11:30"]Dieser Abschnitt ist jeden Tag um die gleiche Uhrzeit sichtbar[/wpsleep]
Start- und Endpunkt können definiert werden – zusammen oder einzeln. Der Datumswert ist ein in deutscher Textform angegebenes Datum, also nach dem Format tag.monat.jahr stunden:minuten. Die Attribute können wahlweise nur als Datum (also ohne Zeitangaben) oder nur als Uhrzeit (also ohne das Datum) spezifiziert werden. Seit der Version 0.4 kann ein Alternativtext per Attribut alt für inaktive Zeiten hinzugeschaltet werden.
Status der Sichtbarkeit als PHP-Flag
Seit wpSLEEP 0.5 ist eine globale Variable verfügbar, die darüber Auskunft gibt, ob der markierte Bereich vom Plugin ein- oder ausgeblendet wurde. Das Flag visible kann auf true geprüft werden, um bestimmte Elemente im Template abhängig von der Ausgabe zu steuern. Ein Beispiel dafür kann ein “Seite ausdrucken”-Button sein, der nur dann sichtbar gemacht wird, wenn der Artikel vom Plugin in voller Länge ausgegeben wurde.
Mögliche Abfrage der Variable
<?php if (class_exists('wpSLEEP') &&
isset($GLOBALS['wpSLEEP']) &&
$GLOBALS['wpSLEEP']->visible) {
/* Mein Code */
} ?>
Versionsverlauf
Version 0.5 vom 10.12.2008
- visisble als globale Variable für Abfragen im Template
Versionsverlauf
Version 0.4 vom 27.10.2008
- Alternativtext als Attribut alt hinzugefügt
Version 0.3 vom 10.10.2008
- Attribute für den Start- und Endpunkt können nun auch nur aus Uhrzeit bestehen, um so tägliche Wiederholungen zur bestimmten Zeit abzubilden
Version 0.2 vom 08.10.2008
- Startdatum ist kein Pflichtfeld mehr. Start- und Enddatum können nach Belieben gesetzt werden
Version 0.1 vom 07.10.2008
- wpSLEEP geht online
Installation
- Plugin downloaden
- Via FTP oder WordPress-Backend zu den Plugins hochladen
- Reiter Plugins aufrufen
- Plugin wpSLEEP aktivieren
Download
› WordPress Plugin wpSLEEP ↓
- Format: ZIP
- Version: 0.5
[Der Autor] Sergej Müller ist enthusiastischer Software Engineer mit Schwerpunkten Webentwicklung und WordPress. Seit 2007 programmiert und vertreibt er wpSEO, das weltberühmte und patentierte SEO-Plugin für WordPress-Blogs.
58 Kommentare zum Artikel
Das ist eine gute Idee, da fallen mir auf Anhieb ein paar interessante Einsatzzwecke ein.
Also: Mal Probieren, denn “Probieren geht über Studieren1″ ;-)
Berichte von deinen Einsatzzwecken, interessiert mich wirklich.
Geile Idee, aber warum ist “Start” als Pflichtattribut ausgelegt? Eine häufige Anwendung wird sein, Textteile mit Verfallsdatum zu versehen. Da ist die Startangabe nur Ballast.
Kann ich überdenken, ist überhaupt kein Problem. Sag ich dann Bescheid.
Ok, wpSLEEP ist in Version 0.2 verfügbar und akzeptiert nun auch das Enddatum als alleiniges Attribut.
Zitat:
wpSLEEP legt Textabsätze zeitversetzt schlaffen
Schlaffen oder schlafen? ;)
Gute Arbeit Sergej!
Danke für den Hinweis. Ist angepasst.
Super Plugin – besten Dank :!:
Damit kann ich jetzt einen “selbstpflegenden” Veranstaltungskalender anlegen, indem ich ganz einfach nicht mehr aktuelle Termine automatisch ausblende. So steht automatisch immer der nächste Termin ganz oben in der Auflistung :-)
Ah, Sergej: Du solltest das Plugin schnellstmöglich bei http://wordpress.org/extend/plugins/ anmelden. Dann haben noch mehr WP-User etwas davon ;-)
Just my 2 cents…
Werde ich machen.
Gäb es vielleicht auch die Möglichkeit, das ganze nicht datumsabhängig zu machen sondern einfach per Uhrzeit gesteuert? Also dass etwas zB jeden Tag von 08:00-16:00 angezeigt wird und dann am nächsten Tag wieder?
@Ricarda
Ist erledigt und daraus Version 0.3 gebastelt.
Hey super :) Danke !!
Hey das ist ein super Teil dein Plugin ! ;-) Ich hab da mal ne Frage: Kann ich auch damit Links steuern? Ich würde gern bei einem Gewinnspiel mit machen und nach Ablauf der Spanne den Link automatisch als ungültig markieren. Der Text sollte aber davon unbehelligt lassen. In etwa so:
“…. blahhh klickt Hier (<- Link zum Gewinnspiel)…”
Das Hier sollte stehen bleiben und nur der Link ungültig werden.
Vielen Dank ! Und weiter so!
MfG
Holly, zwar nicht getestet, aber theoretisch sollte es nach diesem Muster klappen:
[wpsleep end="31.12.2008 09:00"]<a href=”link-zum-gewinnspiel.html”>[/wpsleep]Hier[wpsleep end="31.12.2008 09:00"]</a>[/wpsleep]
Cool Danke für den Tipp und die schnelle Antwort! Werd es mal testen!
MfG
Hallöle,
kurze Frage: Ich verwende dei Wordpressversion 2.3.1. und wollte nicht auf die neueste Version umstellen. Gibt es das Plugin auch für vorherige Versionen bzw. was muss für dessen Einsetzbarkeit geändert werden?
Gruß Chris
@chris
Der für das Plugin notwendige Shortcode ist leider erst seit WordPress 2.5 verfügbar.
Danke für die schnelle Antwort.
Das ist sehr ärgerlich, da ich bisher keine Alternative finden kann.
Naja, man könnte natürlich einen Workaround bauen. Allerdings bist du wohl fast der einzige mit WordPress kleiner 2.5.
Ich habe jetzt nun doch alles umgestellt.
Mit [wpsleep] … [/wpsleep] füge ich ja alles zum richtigen Zeitpunkt ein.
Leider funktioniert dies nur bei Beiträgen oder Seiten?!
Ich möchte dies aber gerne in meine Sidebar.php einfügen.
Muss dazu noch ein weiterer Code benutzt werden?
wpSLEEP kann nur Teile eines Beitrags zeitlich steuern. In den PHP-Dateien sollte man auch mit PHP abfragen.
Aha, dein letzter Kommentar sagt es schon: nur Teile eines Beitrags!
Ich habe nämlich ein Rätsel gestartet, bei dem die nächsten Tipps zeitgesteuert angezeigt werden sollten. Da bleibt wohl nur das more-Tag, damit der Teil des Beitrags nicht auf der Startseite angezeigt wird, oder?
Das sagt nicht nur mein Kommentar, das steht auch gaaanz groß im Titel des Artikels.
Joa, aber ein Beitrag ist auch auf der Startseite und im Archiv zu finden. Wenn man die Funktionsweise der Shortcodes kennt, mag das offensichtlich sein, aber mir war das nicht klar :-)
Danke für die schnelle Antwort.
War auch nicht böse gemeint oder so :)
Naja, wenn man einen Teil verstecken will, dann natürlich überall – auf der Startseite, Kategorien und der Suche. Halt überall dort, wo dieser Teil des Beitrags eingeblendet werden sollte.
Gibt es sonst noch Wünsche, Vorschläge für die nächste Version?
hallo sergej,
wie kann ich z.b. ereignisse, die jede woche meinetwegen von 20.00 bis 22.00 uhr laufen, in dieser zeitspanne anzeigen und an den übrigen tagen und tageszeiten verbergen?
gruß
hallo nochmal,
ich meine ereignisse, die wöchentlich wiederkehren, also z.b. jeden mittwoch von 20.00 bis 22.00 uhr…..
Es geht nur täglich, wöchentlich ist zur Zeit nicht vorgesehen.
danke für die antwort. aber das wäre doch dann mal eine anregung für version 0.4!
Hab ich mir vorgemerkt.
Hallo Sergej,
super plugin! Hätte vielleicht noch 2 Vorschläge zur Funktionserweiterung:
Ich würde gerne, während der vollständige Beitrag nicht angezeigt wird einen Ersatztext angezeigt bekommen. Zur Zeit geht das ja durch
[wpsleep end="26.10.2008 17:50"]Vollständigen Beitrag in der Printausgabe[/wpsleep][wpsleep start="26.10.2008 17:50"] Hier steht der vollständige Beitrag [/wpsleep]
Ist es vielleicht möglich in der Funktion selber einen Ersatztext einzufügen, z.B. [wpsleep end="26.10.2008 17:50" ersatz="Vollständigen Beitrag in der Printausgabe"]
um das ganze zu vereinfachen?
Eine andere Sache wäre ganz toll, wenn das Plugin ein Button im tinymce kreiert wie bei cforms oder viper video quicktag. Nur für den Fall einige Leute arbeiten nur im tinymce, die halt nicht so gewandt sind in der Codeansicht.
Vielen Dank für das tolle Plugin
@Alex,
beide Vorschläge sind sehr gut und lassen sich einfach umsetzten. Zum Beispiel zeigt wpSALE den alternativen Text bereits an.
In der soeben online gegangenen Version des Plugins kann ein beliebiger Alternativtext hinterlegt werden, welchen wpSLEEP während der Inaktivität einblenden kann. Für diesen Zweck ist das Attribut alt verfügbar.
Ja cool, das ging ja verdammt schnell :)
Danke Sergej!
coo, mit dem plugin kann man dann einen monat schreiben und fünf jahre dann automatisch veröffentlichen? nicht schlecht. ;-)
Das Plugin hört sich interessant an.
Aber verträgt es sich auch mit WP-Cache o.ä.?
Gruß,
Axel
Hab ich nicht ausprobiert, da hier kein Cache-Plugin im Einsatz. Einfach austesten.
Heute Abend habe ich wpSLEEP 0.5 online gestellt. Ein paar Kleinigkeiten wurden im Code verbessert. Neu ist die globale Variable visible, die vom Plugin auf true gesetzt wird, wenn der markierte Bereich sichtbar ist. Bleibt dieser verborgen, so ist auch das Flag auf false. Ein Beispiel der PHP-Abfrage oben in der Beschreibung.
Hey Sergej,
schaut ja verdammt nach dem PlugIn aus, nach dem ich gesucht habe. Mein Problem ist bloß, dass ich keine Ahnung habe, wie ich damit jetzt wirklich Kategorien zeitgesteuert aus der Query ausblenden kann. Vielleicht kannst Du mir ja mit einer Erklärung helfen
Wenn ich folgenden Code schreibe, ergibt das kein anderes Ergebnis, als die normale Query eh schon bringt:
Wie schaffe ich es jetzt die Kategorie 4 in der normalen Query anzeigen zu lassen und nur die Kategorie 12 per Zeitsteuerung (in einer 2ten Query?) zu aktivieren/deaktivieren?
Vielen Dank im Voraus!
wpSLEEP ist für Teile eines Beitrags gedacht, nicht für die Query.
hey sergej,
das hab ich schon kapiert. aber funktionieren müsste es doch trotzdem irgendwie…
…nur auf das wie komm ich noch nicht drauf. dachte du hast vielleicht eine idee.
Nachtrag: Was ich übrigens auch nicht verstanden habe ist wie Datum/Uhrzeit in die php-Funktion bekomme, bzw. wie ich die wirklich einsetze. Gibt´s dafür irgendwo ein Beispiel? Danke!
Das heißt, deine Frage bezieht sich gar nicht auf das wpSLEEP-Plugin, sondern ist allgemeiner Natur? Ein Beispiel wie das Datum in einer WP-Query abgefragt werden kann, hab ich nicht. Aber mit einem SELECT-Befehl ist die Aufgabe mit Sicherheit lösbar.
marcus, das genie für eh alles im deutschen wordpress-forum, hat´s mir gerade gezeigt. ich hab nur irgendwie (als php-anfänger) nicht an die standard if/else-geschichte gedacht… das werden vermutlich öfter leute brauchen. die frage, die dann noch offen bleibt ist, wie ich den start-zeitpunkt der sichtbarkeit steuere. mit ’start=”31.12.blabla”‘ an [‘wpSLEEP anhängen geht´s ja nicht… hast du vielleicht eine andere idee? hab mich zwar durch deine wpsleep.php durchgelesen, aber so ein genie bin ich dann doch eben nicht…
Nee, kann ich dir leider nicht helfen.
tja… geht irgendwie nicht…. tollerweise hat er jetzt auch noch den code von kommatar nr. 65 komplett raus genommen. ich glaub, dir fehlt einfach so etwas wie “code”-button hier… oder ich darf einfach kein php hier hin schreiben…
if (is_front_page()) {
if (class_exists(‘wpSLEEP’) && isset($GLOBALS['wpSLEEP']) && $GLOBALS['wpSLEEP']->visible) {
query_posts(“cat=XY,AB”);
} else {
query_posts(“cat=XY”);
}
}
Wäre es nicht einfacher den Link ins Forum zu hinterlassen? Dennoch danke für den Code.
stimmt wohl. bringt halt nur nix, wenn man nicht weiß wie man jetzt die zeitliche steuerung integriert.
aber: wo du recht hast, hast du recht ;) … hier der link.
Super Script, ideal für Pornoblogs, um den Jugendschutz einhalten zu können. Danke.
Interessantes Plugin, evtl. für später hilfreich :)
Danke!
Hm, sehr merkwürdig. Seit dem Update auf 2.8.1 funktioniert das Plugin nur noch eingeschränkt. Gibt es da schon weiteres Feedback oder ist das nur bei mir so? :(
@Jörn
“Nur noch eingeschränkt” ist eine sehr dehnbare Definition. Nein, es wurde keine Probleme gemeldet.
@Sergej: Narf, da war ich wohl etwas vorschnell. Mehrfach deaktivieren und die Seite marginal verändern hat geholfen. Scheint wohl eher ein Schluckauf gewesen zu sein, als ein Bug.
“Eingeschränkt” hieß in dem Zusammenhang, dass die ersten vier Zeilen völlig korrekt dargestellt wurden und die anderen 20 darunter, die z. T. erst im September gezeigt werden sollen, komplett mit dem wpsleep-Tag dargestellt waren.
Aber wie gesagt, es läuft wieder. Danke für’s schnell Feedback.
Freut mich, dass es sich von alleine geheilt hat ;)
Kann man das Plugin nur in Beiträgen nutzen oder auch überall um z. B. eine individuelle Ansparache nach Zeiten zu machen?
@Mathias
Nur in Beiträgen und statischen Seiten.
16 Verlinkungen auf den Artikel
› WordPress Plugin für zeitliche Steuerung: wpSLEEP » Beitrag » [...]
› Teile eines Artikels zeitlich steuern » WordPress - Das Pr [...]
› wpSLEEP – Textelemente in WordPress zeitgesteuert - Sergej, wp [...]
› LimeSpace - IT » Blog Archive » Wordpress Plugin -&g [...]
› Teile eines Artikels in WordPress zeitlich steuern | Notizn
› Wordpress: Beitragsteile zeitversetzt ein- / ausblenden | [Grege [...]
› WP-Plugin wpSLEEP - WordPress-Plugin, Shortcode, Verfügung, Bil [...]
› Links der Woche - Impressum, WordPress 2.7, Affiliate-Tipps und [...]
› Die Linkschleuder » Peruns Weblog
› SchmaRs World: wpSLEEP, PHP PErformence optimierung, Hinweise zu [...]
› wpSLEEP – Inhalte zeitabhängig anzeigen
› Kostenpflichtige Downloads ermöglichen mit wpSALE - Beitrag - S [...]
› wpSLEEP - WP Plugin Archive
› Erinnerung-Norton Ghost 14 gewinnen - Dieser, Abschnitt, Lösung [...]
› Der ganz normale (chaotische) Jahresrückblick | Chaosseite
› Puh am Sonntag: vierte Ausgabe - Puhs Blog