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

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

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

Versionsverlauf
Version 0.4 vom 27.10.2008

Version 0.3 vom 10.10.2008

Version 0.2 vom 08.10.2008

Version 0.1 vom 07.10.2008

Installation

Download
› WordPress Plugin wpSLEEP ↓

Sergej Müller

[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

#1 Trends am 7. Oktober 2008 um 22:02

Das ist eine gute Idee, da fallen mir auf Anhieb ein paar interessante Einsatzzwecke ein.
Also: Mal Probieren, denn “Probieren geht über Studieren1″ ;-)

#2 Sergej Müller am 7. Oktober 2008 um 22:03

Berichte von deinen Einsatzzwecken, interessiert mich wirklich.

Sergej Müller
#3 MinutenLohn am 8. Oktober 2008 um 07:43

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.

#4 Sergej Müller am 8. Oktober 2008 um 08:03

Kann ich überdenken, ist überhaupt kein Problem. Sag ich dann Bescheid.

Sergej Müller
#5 Sergej Müller am 8. Oktober 2008 um 09:09

Ok, wpSLEEP ist in Version 0.2 verfügbar und akzeptiert nun auch das Enddatum als alleiniges Attribut.

Sergej Müller
#6 caschy am 8. Oktober 2008 um 15:18

Zitat:
wpSLEEP legt Textabsätze zeitversetzt schlaffen

Schlaffen oder schlafen? ;)

Gute Arbeit Sergej!

#7 Sergej Müller am 8. Oktober 2008 um 15:20

Danke für den Hinweis. Ist angepasst.

Sergej Müller
#8 JoergHH am 8. Oktober 2008 um 16:19

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 :-)

#9 JoergHH am 8. Oktober 2008 um 16:22

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…

#10 Sergej Müller am 8. Oktober 2008 um 16:22

Werde ich machen.

Sergej Müller
#11 Ricarda am 10. Oktober 2008 um 14:04

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?

#12 Sergej Müller am 10. Oktober 2008 um 15:38

@Ricarda
Ist erledigt und daraus Version 0.3 gebastelt.

Sergej Müller
#13 Ricarda am 11. Oktober 2008 um 10:01

Hey super :) Danke !!

#14 Holly am 13. Oktober 2008 um 18:33

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

#15 Sergej Müller am 13. Oktober 2008 um 18:38

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]

Sergej Müller
#16 Holly am 13. Oktober 2008 um 18:57

Cool Danke für den Tipp und die schnelle Antwort! Werd es mal testen!
MfG

#17 chris am 15. Oktober 2008 um 17:52

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

#18 Sergej Müller am 15. Oktober 2008 um 18:20

@chris
Der für das Plugin notwendige Shortcode ist leider erst seit WordPress 2.5 verfügbar.

Sergej Müller
#19 chris am 15. Oktober 2008 um 18:24

Danke für die schnelle Antwort.
Das ist sehr ärgerlich, da ich bisher keine Alternative finden kann.

#20 Sergej Müller am 15. Oktober 2008 um 18:29

Naja, man könnte natürlich einen Workaround bauen. Allerdings bist du wohl fast der einzige mit WordPress kleiner 2.5.

Sergej Müller
#21 chris am 15. Oktober 2008 um 19:00

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?

#22 Sergej Müller am 15. Oktober 2008 um 19:11

wpSLEEP kann nur Teile eines Beitrags zeitlich steuern. In den PHP-Dateien sollte man auch mit PHP abfragen.

Sergej Müller
#23 juliaL49 am 16. Oktober 2008 um 16:22

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?

#24 Sergej Müller am 16. Oktober 2008 um 16:26

Das sagt nicht nur mein Kommentar, das steht auch gaaanz groß im Titel des Artikels.

Sergej Müller
#25 juliaL49 am 16. Oktober 2008 um 16:28

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.

#26 Sergej Müller am 16. Oktober 2008 um 16:32

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.

Sergej Müller
#27 Sergej Müller am 19. Oktober 2008 um 17:39

Gibt es sonst noch Wünsche, Vorschläge für die nächste Version?

Sergej Müller
#28 dirk am 22. Oktober 2008 um 14:24

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ß

#29 dirk am 22. Oktober 2008 um 14:28

hallo nochmal,
ich meine ereignisse, die wöchentlich wiederkehren, also z.b. jeden mittwoch von 20.00 bis 22.00 uhr…..

#30 Sergej Müller am 22. Oktober 2008 um 14:30

Es geht nur täglich, wöchentlich ist zur Zeit nicht vorgesehen.

Sergej Müller
#31 dirk am 23. Oktober 2008 um 07:14

danke für die antwort. aber das wäre doch dann mal eine anregung für version 0.4!

#32 Sergej Müller am 23. Oktober 2008 um 08:01

Hab ich mir vorgemerkt.

Sergej Müller
#33 Blog Drauf am 26. Oktober 2008 um 17:59

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

#34 Sergej Müller am 27. Oktober 2008 um 09:11

@Alex,
beide Vorschläge sind sehr gut und lassen sich einfach umsetzten. Zum Beispiel zeigt wpSALE den alternativen Text bereits an.

Sergej Müller
#35 Sergej Müller am 27. Oktober 2008 um 11:08

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.

Sergej Müller
#36 Blog Drauf am 27. Oktober 2008 um 11:32

Ja cool, das ging ja verdammt schnell :)

Danke Sergej!

#37 harald am 29. Oktober 2008 um 16:54

coo, mit dem plugin kann man dann einen monat schreiben und fünf jahre dann automatisch veröffentlichen? nicht schlecht. ;-)

#38 Axel am 9. Dezember 2008 um 23:05

Das Plugin hört sich interessant an.

Aber verträgt es sich auch mit WP-Cache o.ä.?

Gruß,
Axel

#39 Sergej Müller am 9. Dezember 2008 um 23:08

Hab ich nicht ausprobiert, da hier kein Cache-Plugin im Einsatz. Einfach austesten.

Sergej Müller
#40 Sergej Müller am 10. Dezember 2008 um 21:49

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.

Sergej Müller
#41 herr kaiser am 5. Januar 2009 um 16:56

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!

#42 Sergej Müller am 5. Januar 2009 um 17:03

wpSLEEP ist für Teile eines Beitrags gedacht, nicht für die Query.

Sergej Müller
#43 herr kaiser am 5. Januar 2009 um 18:56

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.

#44 herr kaiser am 5. Januar 2009 um 19:03

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!

#45 Sergej Müller am 5. Januar 2009 um 20:16

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.

Sergej Müller
#46 herr kaiser am 6. Januar 2009 um 18:50

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…

#47 Sergej Müller am 6. Januar 2009 um 18:56

Nee, kann ich dir leider nicht helfen.

Sergej Müller
#48 herr kaiser am 6. Januar 2009 um 18:56

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”);
}
}

#49 Sergej Müller am 6. Januar 2009 um 19:09

Wäre es nicht einfacher den Link ins Forum zu hinterlassen? Dennoch danke für den Code.

Sergej Müller
#50 herr kaiser am 6. Januar 2009 um 20:06

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.

#51 Abspritzer am 10. März 2009 um 05:31

Super Script, ideal für Pornoblogs, um den Jugendschutz einhalten zu können. Danke.

#52 Steffen am 6. Juli 2009 um 11:38

Interessantes Plugin, evtl. für später hilfreich :)
Danke!

#53 Jörn am 21. Juli 2009 um 14:21

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? :(

#54 Sergej Müller am 21. Juli 2009 um 14:32

@Jörn
“Nur noch eingeschränkt” ist eine sehr dehnbare Definition. Nein, es wurde keine Probleme gemeldet.

Sergej Müller
#55 Jörn am 21. Juli 2009 um 16:14

@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.

#56 Sergej Müller am 21. Juli 2009 um 16:15

Freut mich, dass es sich von alleine geheilt hat ;)

Sergej Müller
#57 Mathias am 28. Januar 2010 um 19:29

Kann man das Plugin nur in Beiträgen nutzen oder auch überall um z. B. eine individuelle Ansparache nach Zeiten zu machen?

#58 Sergej Müller am 28. Januar 2010 um 19:45

@Mathias
Nur in Beiträgen und statischen Seiten.

Sergej Müller

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