MR Event: ein Plugin für die Verwaltung von Ereignissen
MR Event ist ein WordPress-Plugin, das es erlaubt, schnell und einfach Beiträge mit zusätzlichen Datums- und Zeitangaben zu versehen, und diese in der Sidebar des Blogs als eine Liste “bevorstehender Ereignisse” anzeigen zu lassen.
Beispiele für Ereignisse sind z.B. Veranstaltungen, Sendetermine oder Geburtstage.
Die Datums- und Zeitangaben werden auf der "Beitrag erstellen" Seite in einem zusätzlichen Element, das MR Event anzeigt, zum Beitrag hinzugefügt und als Metaangabe zum Beitrag in der Datenbank abgespeichert.
MR Event basiert auf RS Event von Robert Sargant.
Kompatibilität: Das Plugin sollte mit allen Versionen von 2.0x bis 3.1.3 funktionieren.
- Download
- Installieren
- Benutzen
- Anpassen
- Anpassen für Fortgeschrittene
- Anwendungsbeispiele
- Entwicklung
- Lizenz
- Kommentare
Download
Installieren
Folgende Schritte führen zur erfolgreichen Installation:
- Kopiere die Dateien
mr-event.php, mr-event-de_DE.mo und mr-event-de_Sie.moin das Plugin-Verzeichniswp-content/plugins/ - Aktiviere MR Event auf der
Plugins-Seite der Admin-Oberfläche.
Benutzen
![]()
Um Ereignisse hinzuzufügen, muss beim Erstellen oder Bearbeiten eines Beitrags einfach ein Datum im Abschnitt MR Event der Sidebar eingegeben werden.
Die Felder Tag, Monat und Jahr sind verpflichtend, während die Felder Stunde und Minute optional sind. Wenn jedoch bei der Formatierung der Ausgabe Zeitangaben verwendet werden, wird bei Daten ohne Zeitangaben 0 Uhr ausgegeben.
Anpassen
MR Event kann über eine eigene Optionen-Seite im Admin-Menü angepasst werden.
Die verschiedenen Einstellmöglichkeiten bedeuten:
-
Titel (title):
Der Titel bei Verwendung als Widget. Default ist
Bevorstehende Ereignisse. -
HTML-Ausgabe (event_html):
Die Angaben zur Formatierung der einzelnen Ereignisse. Es gibt eine Reihe von Variablen, die zur Anpassung der Anzeige benutzt werden können:
- %URL% — die URL des Beitrags zu diesem Ereignis
- %DATE% — das Datum des Ereignisses, formatiert nach den Einstellungen unter
date_format - %TIME% — die Zeit des Ereignisses, formatiert nach den Einstellungen unter
time_format - %TITLE% — der Titel des Ereignisses
Doppelte Anführungszeichen (
") in derevent_htmlkönnen zu Problemen führen. Anstatt sie direkt einzugeben, kann man entweder\"oder"verwenden.Vorgegeben ist die Formatierung
"%DATE%: <a href="%URL%">%TITLE%</a>". -
“Keine Ereignisse” Meldung (no_events_msg):
Die Ausgabe, wenn es keine Ereignisse in der vorgegebenen Zeitspanne gibt.
Vorgegeben ist
Keine bevorstehenden Ereignisse. -
Datumsformat (date_format):
Der Stil, in dem das Datum formatiert wird. Hinweise zu den möglichen Formatangaben finden sich im PHP Handbuch im Abschnitt date().
Vorgegeben ist
"j M". -
Zeitformat (time_format):
Ähnlich wie Datumsformat, nur für die Zeit.
Vorgegeben ist
"H:i". -
Zeitspanne (timespan):
Die maximale Anzahl von Tagen, für die Ereignisse angezeigt werden sollen.
Vorgegeben ist
365. -
Zeige bis zu __ Ereignisse (max_events):
Die maximale Anzahl von Ereignissen, die angezeigt werden sollen.
Es ist auch möglich, die
Zeitspanneauf einen sehr hohen Wert zu setzen (z.B.36500für 100 Jahre) und mit Hilfe des Wertes für max_events die Anzahl der angezeigten Ereignisse unabhängig vom zeitlichen Abstand zu begrenzen.Vorgegeben ist
0(“zeige alle”). -
Nach Datum gruppieren? (group_by_date):
Wenn diese Option auf Nein (false) gestellt ist, wird jedes Ereignis gesondert als individuelles Listenelement
<li>ausgegeben.Wenn diese Option auf Ja (true) gestellt ist, dann wird dasDatumsformatfür jeden Beitrag geprüft. Ereignisse mit dem gleichenDatumsformatwerden gemeinsam in einem Listenelement<li>gruppiert, wobei das Datum und die dazugehörigen Beiträge durch einen Zeilenumbruch<br />getrennt werden.Durch das Setzen unterschiedlicherDatumsformatekönnen die Ereignisse nach unterschiedlichen Datumseigenschaften gruppiert werden, z.B. “Y” um nach Jahren zu gruppieren oder “W Y” um nach Wochen zu gruppieren.Voreingestellt ist
false. -
Jahr ignorieren? (ignore_year):
Wenn diese Option auf Ja (true) gestellt ist, wird die Jahresangabe ignoriert und Ereignisse werden unabhängig vom Jahr gelistet.
Voreingestellt ist
false.
Anpassen für Fortgeschrittene
Für die folgenden Einstellmöglichkeiten sind geringe PHP-Kenntnisse nötig, wobei das Kopieren des Codes in die Templatedateien aber die Hauptarbeit ist.
Die Funktion mr_event_list erwartet ein einzelnes optionales Argument, ein assoziatives Array der verschiedenen Optionen, die geändert werden sollen. Alle Arrayelemente sind optional.
Um die Ausgabe anzupassen, muss mr_event_list folgendermaßen aufgerufen werden:
<li><h2>Veranstaltungen</h2> <?php $mr_event_arg = array ( "timespan" => 28, "date_format" => "jS M 'y", "time_format" => "g:i A", "group_by_date" => true, "event_html" => "<a href='%URL%'>%TITLE% (%TIME%)</a>", "max_events" => 0, "ignore_year" => 0 ); mr_event_list($mr_event_arg); ?> </li>
Die Schlüsselnamen des Array, die zur Anpassung genutzt werden können, stehen oben in Klammern nach den Bezeichnungen der Optionen.
Die Funktion mr_event_list_qf erwartet Angaben zu den verschiedenen Optionen, die geändert werden sollen, im Query-Format sowie als zweiten optionalen Parameter ein Format für die HTML-Ausgabe. Alle Angaben sind optional. Beispielcode:
<li><h2>Veranstaltungen</h2> <?php mr_event_list_qf('timespan=14&date_format=d. M&ignore_year=1', '<a href="%URL%">%TITLE% (%DATE%)</a>') ?> </li>
Anwendungsbeispiele
Eine Liste von Geburtstagen der nächsten zwei Wochen mit einem Datumsformat wie 1. Okt.:
mr_event_list_qf('timespan=14&date_format=j. M.&ignore_year=1');

Eine Liste der nächsten zehn Veranstaltungen, sofern sie spätestens in einem Jahr sind:
mr_event_list_qf('max_events=10');

Eine Liste der Sendetermine der Lieblingssendung in den nächsten 50 Tagen:
mr_event_list_qf('timespan=50&date_format=j.n.&time_format=G:i', '%DATE%, %TIME% Uhr: <a href="%URL%">%TITLE%</a>');

Entwicklung
-
MR Event 1.10 — 26. Mai 2011
- Kleiner Fehler bei der Anzeige der Optionen korrigiert
- Sprachdatei ergänzt
-
MR Event 1.09 — 22. Februar 2011
- Probleme mit der Sprache korrigiert
-
MR Event 1.07 — 30. Juni 2009
- Probleme mit dem Datumsformat korrigiert
-
MR Event 1.05 — 24. Juli 2008
- Anpassung an Versionierung in WP 2.6
-
MR Event 1.04 — 11. April 2008
- Fehlerkorrektur: Ausgabe no_event-text
-
MR Event 1.03 — 9. April 2008
- Prüfung auf WP 2.5-Kompatibilität
- Anpassung an Änderungen in der Adminoberfläche von WordPress 2.5
- Korrekturen beim erzeugten Widget
-
MR Event 1.02 — 12. Juli 2006
- Korrektur eines Tippfehlers, der dazu führte, dass die Minutenangaben bei einer Stundenangabe von 0 Uhr nicht korrekt verarbeitet wurden.
-
MR Event 1.01 — 15. Juni 2006
- Kleinere Vereinfachungen am Code
-
MR Event 1.0 — 17. Mai 2006
- Vollständige Lokalisation inkl. deutscher Sprachdateien
- Optionsseite im Adminbereich
- Neue Funktion mr_event_list_qf mit Übergabe der Parameter im Queryformat
- Neue Option ignore_year
-
Original: RS Event 0.6 — 16. April 2006
- Autor Robert Sargant (www.sargant.com)
vielen Dank für das super plugin.
Und weil hier nun auch enlich einmal ein deutsschprachiger plugin-Autor am Werke war, kann ich ja mal versuchen, meinen GROSSEN Wunsch unterzubringen.
Ich habe regelmäßig sehr viele Termine zu posten.
Ich wünsche mir sehnlichst eine Möglichkeit, meine Termin mit Excel vorbereiten zu können, dann könnte man die Termine einfach, wöchentlich, täglich – je nachdem runterziehen, hier und da editieren, … und dann möchte ich die Tabelle einfach in den Blog importieren können und fertig.
Eine Idee für einen Lösungsansatz wäre das wordpress-to-wordpress-import-plugin
http://www.technosailor.com/wordpress-to-wordpress-import/
welches ja auch meta-Felder importiert.
Mit Excel könnte man doch ein entspr. xml-file für den import generieren
Nur so als Idee und Anregung
zur Umsetzung bin ich selbst zu blöd
Kannst Du das nicht machen?
Und falls nicht – kannst Du mir mal erklären, wie das komische Zeitformat für das Veranstaltungsdatum in der Tabelle berechnet wird, viellicht bekomme ich das dann ja doch in tagelange Arbeit zurechtgemurkst.
Ich fürchte, eine Erweiterung zum Datenimport würde in Arbeit ausarten
Etwas leichter wäre es vielleicht, das für einen spezifischen Fall hinzufrickeln, das wäre aber wiederum nicht sehr hilfreich für die Allgemeinheit…
Das Datumsformat in der Tabelle ist ein Unix-Timestamp. Mit PHP kann man die Werte mit der Funktion mktime() berechnen und mit Hilfe von date() wieder in eine lesbare Form bringen.
Sehr gutes und nützliches Plugin. Herzlichen Dank. Ich würde gerne in der Auflistung nebst dem Blogtitle noch ein zusätzliches Custom Field ausgeben, ist das möglich?
mediaman
Möglich ist das, erfordert aber eine kleine Änderung im Code
In Zeile 468 befindet sich der Code, der dafür zuständig ist, einen einzelnen Eintrag zusammenzusetzen. Diesen könnte man anpassen:
ersetzen durch
Für “user_field” muss der Schlüssel des benutzerdefinierten Feldes eingesetzt werden. In der Einstellung zu Output HTML kann jetzt zusätzlich zu %URL%, %TIME%, %DATE% und %TITLE% auch der Tag %META% benutzt werden.
[...] Ich wollte auch noch Mr.Event einbauen, aber irgendwie begreife ich noch nicht ganz wie der genau funktioniert. RTFM!
Ein anderes Problem scheint der Plugin für zusätzliche Smileys zu haben, leider bin ich noch nicht dahinter gekommen was es sein könnte. Vielleicht probiere ich auch einfach einen anderen aus. [...]
Ich stell mich auch blöd an
Wie bekomme ich die Termine denn jetzt angezeigt. Muss ich da ins Template was einbauen zu ???
Bitte um Hilfe – danke!
Im einfachsten Fall einfach
in das Template schreiben und die Einstellungen im entsprechenden Admin-Menü anpassen.
Ansonsten habe ich oben versucht, die diversen Einstellmöglichkeiten möglichst knapp zu erläutern
Das plugin ist prima – Genau was ich gesucht habe. Ich habe nur das Problem, das die Termine immer auch als Beitrag auftauchen. Kann man Termine (=Beiträge) mittels Zuordnung zu einer bestimmten Kategorie eigentlich von der Darstellung ausschließen?
Ich habe das im Moment so gelöst, dass ich die Beiträge, die als Termin gelistet werden sollen auf den Status “privat” setze. Dann tauchen sie nicht in der Beitragsübersicht auf. Erscheint mir aber nur als Notlösung. Andererseits – nichts hält länger als das Provisorium. Wäre trotzdem für Ideen dankbar
Es gibt mehrere Möglichkeiten. Eine davon ist, die Kategorie mit den Terminen (im Beispiel Kategorie 2) von der Anzeige auszuschließen. Zu Beginn des/der Loop:
hi,
sag mal, planst du ein update, das auch mit WP 2.3 kompatibel ist?
O, bitte, bitte, mach das!
Ich brauch das unbedingt!
“Planen” nicht direkt, aber ich schaue mal, wie aufwendig das ist, wenn ich wieder etwas mehr Zeit habe
Also bei mir läufts unter WP 2.3.2 einwandfrei!
Tolles Plugin, vielen Dank!
Eine Frage aber noch: Ich würde gerne statt “11. Jan” “11. Januar” ausgeben lassen – dazu müsste ich doch die mr-event-de_DE.mo Datei anpassen, oder? Das funktioniert bei mir aber leider nicht – mit welchem Programm kann ich das tun (nutze Mac OS X 10.5) bzw. mit welcher Zeichenkodierung ist die Datei gespeichert?
Die Ausgabe des Datums wird über das Datumsformat gesteuert. Das lässt sich bei den Einstellungen ändern. Für 11. Januar muss man dann statt der Voreinstellung j M (11. Jan) j F nehmen. Die Zeichen, die zur Formatierung benutzt werden können, sind unter http://de3.php.net/date nachzulesen.
Die Sprachdatei hat damit nichts zu tun. Bearbeiten kann man sie (bzw. die zugrundeliegende po-Datei) z.B. mit http://www.poedit.net/ (ist auch für Mac OS X verfügbar).
Moin moin – ich möchte das Plugin gerne als template für nur eine kategorie anlegen – das also nur die termine einer bestimmten kategorie gezeigt werden. Ich habe dazu das hier angelegt … ist es mgl, das im Feld “category” zu bestimmen?
LG!
Der Parameter
categoryexistiert ja (noch) gar nichtIm WordPress Deutschland Forum gab es eine für WP 2.3 angepasste Version von RS Event, die wohl auch eine Terminauswahl nach Kategorien erlaubt.
Hallo, ist das Plugin mit WP 2.5 kompatibel?
Danke.
Eigentlich sollte es kompatibel sein. Ich prüfe das in nächster Zeit noch einmal. Im Zweifel ausprobieren
Mittlerweile habe ich das Plugin unter WordPress 2.5 getestet und es funktionierte. Einige kleinere Anpassungen und Korrekturen waren nötig, so dass es auch vernünftig aussieht. Daher gibt es jetzt Version 1.03
Hallo,
ein echt schönes Plugin ist das hier. Möchte mich dafür sehr bedanken. Nur eine Frage hätte ich da:
Ich habe mal den PHP-Code mal in die sidebar hinzugefügt mit dem timestamp = 3. Leider gibt der mir nicht den no_event-text aus, wenn keine Termine in der Zeit bestehen. kann man da vll was tun?
Stimmt, wird nicht ausgegeben. Das war mal anders
Ist in der Version 1.04 korrigiert.
Nice rework of RS-Event. The interface fits in perfectly with WordPress 2.5 and functions a little smoother. For those English speaking users this plugin is an updated version of RS-Event / Simple Events. I don’t personally use this plugin as a sidebar display but instead I needed a way for a client to post an ending date to events along with the start date ( which is actually a future event )
Example Display:
[ This first line is the typical WordPress Post Date Stamp ]
[ This code displays the MR Event in the same format as above ]
Excellent work and thank you.
Vielen Dank, funzt nun wunderbar.
@Doc4
I reformatted your code a bit…
Thank you
Hallo Matthias,
Robert Sargatn hatte sein Plugin ja dahingehend weiter entwickelt, dass man über verschiedene Kategorien, verschiedne Event-Kalender realisieren kann.
Super Sache!
Leider hat er die Arbeit am Plugin eingestellt.
Als das Update nach WP 2.3 mit der neuen Datenbankstruktur kam, habe ich das Plugin umgestrickt (so gut wie ich es eben kann), sodass es auch mit 2.3 und auch mit 2.5.1 funktioniert.
Falls Du mal gucken willst:
http://nepf.files.wordpress.com/2007/12/rs-event.txt
so 100%ig ist das nicht – das liegt an diesem komischen taxanomie-Kram, den ich nicht voll durchschaut habe.
Also meine Frage: Willst du das nicht mal alles aufgreifen und diese Möglichkeit nach katgeorien zu differenzieren weiter entwickeln.
Du hättest das Zeug dazu!
Tschüß nepf
Hallo Matthias,
erst einmal ein riesen Lob für deine Arbeit…SUUUUPER PLUGIN…genau das, was ich gesucht habe!
Ich habe eine Frage und ein Problem. Erst das Problem. Bei mir wird in der Sidebar das Datum zweimal ausgegeben…was mache ich falsch (benutze WP 2.5.1)?
Kann ich eigentlich eine zusätzliche Ausgabe (von z.B. Geburtstagen) in der Sidebar anzeigen lassen? Wenn ja, wie?
Danke für deine Hilfe!
EDIT
Ich nehme die Frage bzgl. des Problems zurück. Hatte mit der der Einstellung “Nach Datum gruppieren?” zu tun…man bin ich ein …..
Die andere Frage hätte ich aber gerne weiterhin beantwortet.
Hi,
vielleicht bin ich einfach zu blöd. Wenn ich einen Artikel erstelle, der mit Hilfe von MR Event einen bestimmten Termin bekommt, so soll dieses Datum auch direkt in dem Artikel erscheinen, ohne das man es nochmal eintippen muß.
Da habe ich zwei Fragen zu:
1.) Wie bekomme ich die Daten in dem Template wieder ausgelesen / angezeigt?
2.) Auf welcher Seite eines Templates muß ich das machen?
Vielen Dank für Eure Hilfe.
Vielen Dank für dieses Plugin! War genau das, was ich gesucht hatte – und funktioniert problemlos.
Lg
Astrid
@Sven (#26) Problem gelöst? Wunderbar
Ich fürchte, eine zweite Ausgabe ist nicht (zumindest nicht ohne größere Umwege) möglich. Das entspricht in etwa dem Problem von nepf weiter oben. Wenn ich mal wieder ganz viel Zeit habe…
@Michael (#27) Das Auslesen geht ungefähr so:
Anzeige mit
echo $output_date(für das Datum) bzw.echo $output_time(für die Uhrzeit)In welche Templatedatei das gehört? Kommt drauf an, entweder single.php, index.php oder auch in die category.php oder archive.php, je nachdem, welche Templatedateien verwendet werden und wo es ausgegeben werden soll…
@Astrid (#28) Danke
Sehr schönes Plugin, werde ich sofort ausprobieren! Kann man dir hierfür auch ne kleine spende zukommen lassen?
@Matthias
Vielen Dank für die Info. Sieht sauber aus, allerdings sieht meine Ausgabevariable so aus:
Anders funzt es nicht….mit Deiner Zeile erfolgt keine Ausgabe eines Datums.
Was macht
mysql2dategenau, und woher kommt die Variable$date_format?Das kommt davon, wenn man ungetesteten Kode einfach so hinschreibt
mysql2dateist die WordPress-Funktion, die dafür sorgt, dass die deutschen Monatsnamen etc. verwendet werden.$date_formatist die Option für das Datumsformat im Plugin. Ist natürlich so nur innerhalb des Plugins gültig@mark (#30):
Mal sehen, vielleicht gibt es demnächst hier einen Spendenbutton
@ Matthias
Danke für deine Antwort
Habe noch mal eine Frage. Wie kann ich den aktuellsten Beitrag oben anzeigen lassen (sprich als erstes)?
Ist (noch) nicht als Option vorgesehen. Man könnte im Plugin alle Stellen, an denen
steht, durch
ersetzen.
ich benutze mr event schon uf einigen Webseiten. Nach dem Update auf 2.6 musste ich leider feststellen, dass alle termine in der sidebar doppel angezeigt werden.
Wie kann ich das abstellen.
Gruß Mimo
Ich habe es doch gewusst.
Es lag an der Revisionsfunktion die Konstante WP_POST_REVISIONS in wp-settings.php eingeschaltet wird
In der wp-settings.php Zeile …
jetzt läuft auch Mr. Event wieder normal.
Gruß MIMO
Danke für die Info! Ich werd mir das dann wohl mal anschauen müssen…
Hallo Matthias, tolles Plugin, seit WP 2.6 zeigt es mir leider auch die Termine mehrfach.
Siehe hier: http://www.linedancestompers.de/category/events/
Liegt wohl an den Revisions, die ich aber nicht unbedingt allgemein abstellen will in den wp-settings.
Ich denke, Du bekommst das auch bald geregelt?
Grüsse, Jörn
Ich habe eine Lösung für WP 2.6
im Plugin in der Funktion mr_event_list_qf einfach den post_type mit berücksichtigen. Wir wollen nur den Typ ‘post’, nicht den Typ ‘revision’
Also jeweils folgendes nach
einfügen:
der String sieht dann so aus (3 Mal in dieser Funktion)
Bei mit klappt es so…
Was meinst Du Matthias?
Grüsse, Jörn
Das ist ja ein Service!
Sieht gut aus, ich werde das dann in der nächsten Version wohl so übernehmen…
[...] Jetzt habe ich das für meine Zwecke Passende in dem Plugin Mr Event gefunden. [...]
Hi,
ich habe das Problem (seit wp 2.6) das beim Eintrag neuer Events in der Sidebar min. der Eintrag 2* Erscheint und jedesmal wenn ich den Eintrag überarbeite erscheint er ein weiteres mal..
Gibt es dafür schon eine Lösung???
Gruß
Oliver
hi, ich hätte erst lesen sollen was andere zu dem thema geschrieben haben..
habe es so gemach wie es jörn geschrieben hat und siehe da es klappt
Gruß
Olli
Ich habe die Änderungen, die aufgrund der in WordPress 2.6 neu eingeführten Versionierung nötig wurden, eingebaut. Die neue Version 1.05 sollte damit wieder kompatibel sein
Hallo Matthias,
erstmal dickes Lob und vielen Dank, MR Event ist auch bei mir exakt das was ich gesucht habe.
Nun eine kleine Frage – ich verwende bei meinen Termine auch einige “Private”, welche nur für angemeldete Mitglieder sichtbar sein sollen.
Kann ich diese privaten Termine bzw. die abhängigkeit auch für die Sidebar anwenden? Derzeit werden alle Termine gelistet, auch wenn diese im Detail nicht sichtbar sind…
Danke schonmal
Ich schau demnächst mal nach. Ich meine, ich hätte das schon mal hingekriegt, bin mir aber nicht ganz sicher.
Ich nutze das MR Event Plugin & das Plugin Category Access.
Nun zeigt aber das MR Event Widgets in der sidebar auch Events an, die laut Category Access nicht angezeigt werden dürften.
Wie kann ich das Problem lösen?
Ich nehme an, dass Category Access per Hook in die Datenbankabfrage eingreift. Da MR Event eigene Datenbankabfragen hat, müsste man die entsprechenden Abfragen vermutlich direkt anpassen.
Kann ich neben dem Tag und Monat auch noch den Wochentag anzeigen lassen?