go41

Termine verwalten mit dem Plugin Mr Event

von Joern am 20. Jul. 2008 | Keine Kommentare

Lange habe ich nach einem Plugin für WordPress gesucht, um Termine von Veranstaltungen einfach als Beitrag erstellen zu können und diese dann auch auf einer Seite oder in der Sidebar nach diesen Terminen sortiert darstellen zu können.

Jetzt habe ich das für meine Zwecke Passende in dem Plugin Mr Event gefunden.

Nach der Installation bekommt man auf der Seite zum Beiträge schreiben ein neues Eingabefeld präsentiert, in welchem man einfach ein Datum und optional eine Uhrzeit eingeben kann.

Diese Eingabe wird mit dem Post in einem Custom Field (postmeta.meta_key) gespeichert und kann auch danach wieder aufgerufen und sortiert werden. Ansonsten ist der Beitrag wie jeder andere.

Auf dem Blog meiner Frau ( www.linedancestompers.de ) vergebe ich, also meine Frau, jedem Veranstaltungstermin noch eine extra Kategorie, so kann ich alle Posts in dieser Kategorie gesondert darstellen. Das geht indem man eine index.php nimmt und diese umbenennt in category-xx.php, das xx für die ID der Kategorie. Mehr dazu hier: Category Templates

Mit Hilfe des Plugins Mr Event kann ich nun kommende Termine auflisten und noch dazu gleich eine Liste aller Termine (category/event).

Matthias beschreibt das auf seiner Mr Event Seite recht gut.

Meine category-xx.php auf Termine – Linedance Stompers sieht nunso aus: Kommende Termine mit dem am nächsten ligenden Termin zuerst und nur mit dem Titel aufgeführt.

Darunter alle Termine sortiert mit dem spätesten Termin zuerst. Bei Klick auf einen Titel eines kommenden Temins springt die Seite nur zu diesem Temin mit Inhalt weiter unten, braucht also nich nochmal neu geladen zu werden. Eine Sprungmarke…

Ich poste hier noch die komplette Kategorie Event Vorlage, bitte bei Copy und Paste aufpassen, daß die Anführungszeichen im Code irgendwie richtig sind und nicht verfälscht werden. Habe selber keine Ahnung wie man das abstellen kann.

categorie-xx.php


<?php get_header(); ?>
<!-- cat events -->
<div id="content">
<?php if ( function_exists('mr_event_list_qf') ) { ?>
<h2>Kommende Termine:</h2>
<?php mr_event_list_qf('date_format=j.m.Y&time_format=G:i') ?>
<?php } ?>
<h2>Alle Termine:</h2>
<?php
$querystr = "
SELECT $wpdb->posts.*
FROM $wpdb->posts
LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id)
WHERE $wpdb->postmeta.meta_key = 'mr_event'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
ORDER BY $wpdb->postmeta.meta_value DESC
";
$pageposts = $wpdb->get_results($querystr, OBJECT); ?>
<?php if ($pageposts): ?>
<?php foreach ($pageposts as $post): ?>
<?php setup_postdata($post); ?>
<div class="event" id="<?php the_title(); ?>">
<ul><li><?php if($mr_event_meta = get_post_meta($post->ID, 'mr_event', true)) { echo date('j.m.Y', $mr_event_meta);echo ' ';echo date('G:i', $mr_event_meta);echo ' Uhr<br />'; } ?></li></ul>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<div class="contenttext">
<?php the_content() ?>
</div>
</div>
<?php endforeach; ?>
<?php else : ?>
<p>No matching entries found.</p>
<?php endif; ?>
<div class="navigation">
<div class="navleft"><?php previous_post_link('&laquo; %link') ?></div>
<div class="navright"><?php next_post_link('%link &raquo;') ?></div>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

wie immer viel Spaß mit dem Probieren, die DIV’s sollten evtl. angepasst werden und auch die Sidebar wird bei anderen Themes gelegentlich vor dem Inhalt geladen.

wichtig:

  • https://google com

Plugin Mr Event

Autor:

Du findest mich auch auf Twitter und Facebook!

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.