Artikel vom 7. Oktober 2008

wpSLEEP, WordPress-Plugin für zeitliche Steuerung der Teile eines Artikels

Cronjob

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.

Social Werkzeuge

66 Kommentare zum Artikel

662 Tage zuvor | #1 Trends

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

Trends
662 Tage zuvor | #2 Sergej Müller

Berichte von deinen Einsatzzwecken, interessiert mich wirklich.

Sergej
661 Tage zuvor | #3 MinutenLohn

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.

MinutenLohn
661 Tage zuvor | #4 Sergej Müller

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

Sergej
661 Tage zuvor | #5 Sergej Müller

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

Sergej
661 Tage zuvor | #6 caschy

Zitat:
wpSLEEP legt Textabsätze zeitversetzt schlaffen

Schlaffen oder schlafen? ;)

Gute Arbeit Sergej!

caschy
661 Tage zuvor | #7 Sergej Müller

Danke für den Hinweis. Ist angepasst.

Sergej
661 Tage zuvor | #8 JoergHH

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

JoergHH
661 Tage zuvor | #9 JoergHH

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…

JoergHH
661 Tage zuvor | #10 Sergej Müller

Werde ich machen.

Sergej
659 Tage zuvor | #11 Ricarda

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
659 Tage zuvor | #12 Sergej Müller

@Ricarda
Ist erledigt und daraus Version 0.3 gebastelt.

Sergej
658 Tage zuvor | #13 Ricarda

Hey super :) Danke !!

Ricarda
656 Tage zuvor | #14 Holly

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
656 Tage zuvor | #15 Sergej Müller

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
656 Tage zuvor | #16 Holly

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

Holly
654 Tage zuvor | #17 chris

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
654 Tage zuvor | #18 Sergej Müller

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

Sergej
654 Tage zuvor | #19 chris

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

chris
654 Tage zuvor | #20 Sergej Müller

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

Sergej
654 Tage zuvor | #21 chris

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?

chris
654 Tage zuvor | #22 Sergej Müller

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

Sergej
653 Tage zuvor | #23 juliaL49

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?

juliaL49
653 Tage zuvor | #24 Sergej Müller

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

Sergej
653 Tage zuvor | #25 juliaL49

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.

juliaL49
653 Tage zuvor | #26 Sergej Müller

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
650 Tage zuvor | #27 Sergej Müller

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

Sergej
647 Tage zuvor | #28 dirk

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ß

dirk
647 Tage zuvor | #29 dirk

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

dirk
647 Tage zuvor | #30 Sergej Müller

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

Sergej
646 Tage zuvor | #31 dirk

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

dirk
646 Tage zuvor | #32 Sergej Müller

Hab ich mir vorgemerkt.

Sergej
643 Tage zuvor | #33 Blog Drauf

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

Blog Drauf
642 Tage zuvor | #34 Sergej Müller

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

Sergej
642 Tage zuvor | #35 Sergej Müller

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
642 Tage zuvor | #36 Blog Drauf

Ja cool, das ging ja verdammt schnell :)

Danke Sergej!

Blog Drauf
640 Tage zuvor | #37 harald

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

harald
598 Tage zuvor | #38 Axel

Das Plugin hört sich interessant an.

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

Gruß,
Axel

Axel
598 Tage zuvor | #39 Sergej Müller

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

Sergej
598 Tage zuvor | #40 Sergej Müller

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
572 Tage zuvor | #41 herr kaiser

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!

herr kaiser
572 Tage zuvor | #42 Sergej Müller

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

Sergej
572 Tage zuvor | #43 herr kaiser

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.

herr kaiser
572 Tage zuvor | #44 herr kaiser

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!

herr kaiser
572 Tage zuvor | #45 Sergej Müller

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
571 Tage zuvor | #46 herr kaiser

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…

herr kaiser
571 Tage zuvor | #47 Sergej Müller

Nee, kann ich dir leider nicht helfen.

Sergej
571 Tage zuvor | #48 herr kaiser

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

herr kaiser
571 Tage zuvor | #49 Sergej Müller

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

Sergej
571 Tage zuvor | #50 herr kaiser

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.

herr kaiser
508 Tage zuvor | #51 Abspritzer

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

Abspritzer
390 Tage zuvor | #52 Steffen

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

Steffen
375 Tage zuvor | #53 Jörn

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
375 Tage zuvor | #54 Sergej Müller

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

Sergej
375 Tage zuvor | #55 Jörn

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

Jörn
375 Tage zuvor | #56 Sergej Müller

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

Sergej
184 Tage zuvor | #57 Mathias

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

Mathias
184 Tage zuvor | #58 Sergej Müller

@Mathias
Nur in Beiträgen und statischen Seiten.

Sergej Müller
110 Tage zuvor | #59 Joachim

Hallo Sergej,
wo holt dein Plugin die Uhrzeit her ?
Irgendwie fehlen mir 2 Minuten.
Will heissen, das Plugin startet 2 Minuten früher als meine systemzeit.

cu Werner

Joachim
110 Tage zuvor | #60 Sergej Müller

Das ist die aktuelle Serverzeit, siehe http://php.net/manual/de/function.time.php

Sergej Müller
108 Tage zuvor | #61 Joachim

Hallo Sergej,

vielen Dank. Jetzt hab ich auch Time Server eingestellt.

Danke

Joachim
101 Tage zuvor | #62 jwqlb

danke sergej für die tolle umsetzung.

der frühling hat zwar gerade begonnen, aber ich mache mir schon heute gedanken, dein plugin als grundgerüst für einen wp-adventskalender zu benutzen.
oder findest du das abwegig?

jwqlb

jwqlb
101 Tage zuvor | #63 Sergej Müller

@jwqlb
Meine Plugins sollen einen Nutzen bringen, sonst wäre meine Arbeit umsonst gewesen. Dabei spielt es für mich keine Rolle, ob damit Adventskalender oder Ostereier gesteuert werden ;)
Nur zu.

Sergej Müller
5 Tage zuvor | #64 Dirk Wiedenhaupt

Hi @all,

wir nutzen das Plugin, vor allem auch für aktuelle Marketingaktionen, auch in Richtung Adventskalender.

Was uns fehlt, was ich auch noch nie gefunden habe, wie man komplette Beiträge zeitgesteuert wieder ausblenden kann. Also im Prinzip wie der Publikationszeitpunkt, nur eben wieder offline schalten…

Gibt es für soetwas bereits Gedanken, wpSleept noch aufzuwerten oder existiert hier eventuell schon ein mir unbekanntes Plugin?

Danke für Eure Hilfe…

Dirk Wiedenhaupt
5 Tage zuvor | #65 Sergej Müller

Dirk, das kann man mit dem Plugin nicht lösen, weil es nicht auf der Artikelebene arbeitet und wirklich nur Teile des Beitrags steuern kann.

Ich bin jetzt in den Ferien, kann dir daher keinen Link schicken, aber Vlad von perun.net hatte mal einen Artikel mit Lösungen zur Offline-Schaltung von Posts veröffentlicht. Vielleicht findest du ihn über Google.

Sergej Müller
4 Tage zuvor | #66 Dirk Wiedenhaupt

@Sergej,

ich danke Dir für den Hinweis, dann werd ich mal googlebingen… :-)
Viel Spass im Urlaub!

Dirk Wiedenhaupt

15 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 [...]

› 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

Kommentar verfassen