Simple Countdown -nützlich auch für den CSSNeustart Termin

Du magst einen Termin ankündigen und außerdem die Tage, Stunden und Minuten runterzählen lassen, sodass sowohl bei Dir wie auch bei Deinen Lesern die Spannung wächst.

Ich fand dafür ein wirklich einfaches Countdown Plugin, das ich Dir jetzt vorstellen mag. Simple Countdown.

In Aktion kannst Du es hier auf Texto.de derzeit vor den Kommentaren sehen, da ich unverschämtest Werbung für den >CSSNeustart mache. ;) Ein wenig mehr an INFO darüber findest Du bei Benijamino oder bei [ link= tot leider felixbeck.de/weblog/2007/05/cssneustart ]Felix und sicher auch bald bei Jowra, den Dreien, die hinter dem Projekt stehen.

Nun zum Simple Countdown Plugin.

  1. WordPress Plugin herunterladen.
  2. Entpacken und nach wp-content/plugins/ hochladen. Aktivieren.

Dieses Plugin ist in Englisch . Wenn Du es auf Deutsch haben magst, dann nutzt Du entweder meine übersetzung hier als Vorlage oder kopierst Dir den Code. Wobei ich nie Garantier übernehme, dass dies auch funktioniert. Im Prinzip ganz einfach, lies nur genau diesen Code.

Suche nach:


$output	.=	$years . ' years';


und ändere in

$output	.=	$years . ' Jahre';


Suche nach:


$output	.=	'1 year';


und ändere in


$output	.=	'1 Jahr';


Also immer dort wo in diesem Code output drin steht, steht zuerst die Variable und danach das Wort, das angezeigt wird. Am Ende findest Du den ganzen Code von mir.

Simple Countdown in ein Template einfügen:

Wenn Du ein Plugin nutzt mit dem Du php in einem Beitrag ausführen darfst, dann nutze dies hier. Oder gib dies direkt in ein WordPress Template ein. Sidebar.php als Beispiel.

<?php cc_countdown('07/01/2007 00:00', 'CSSNeustart', 'True'); ?>

Hast Du weder so ein php -AUsführ-Erlaubnis Plugin noch traust Du Dich in den Code eines Templates, kannst Du dies auch direkt in einem Beitrag eingeben.


<!--cc_countdown:EVENT DATE AND TIME, EVENT TITLE-->


Zuerst den Termin:

Wichtig ist dabei, dass Du das englische Datumsformat nimmst. 1.Juli 2007 wird zu 07/01/2007. Wenn WordPress auf unser Datumsformat eingestellt ist, wird dann das Datum vertraut dargestellt.

Dann der Titel des Events:

CSSNeustart

Wenn der Termin aus ist:

True bedeutet:Zeige an:Sorry es ist vorbei. False bedeutet:Tu nichts, verschwinde.

So sieht dies bei mir dann aus.

Angefangen von *Start the Output* bis function cc_find_countdown


// Start the output
			if ( $inline == FALSE && $title ) {
				$output	=	'<h5>' . $title . "</h5>\n";
				$output	.=	'<p>';
			}
			else if ( $inline == TRUE && $title ) {
				$output	=	$title . ' ist in ';
			}
			else {
				$output	=	'';
			}
			
			
			// check for years, if there are 1 or more show it
			if ( $years ) {
				if ( $years >= 2 ) {
					$output	.=	$years . ' Jahre';
					
					if ( $days ) {
						$output	.=	', ';
					} else if ( $hours || $minutes ) {
						$output	.=	' in ';
					}
					
				} else if ( $years == 1 && ($days || $hours || $minutes) ) {
					$output	.=	'1 Jahr';
					
					if ( $days ) {
						$output	.=	', ';
					} else if ( $hours || $minutes ) {
						$output	.=	' in ';
					}
				}
			}
			
			//	check for days, if there are 1 or more show it. If there are hours or minutes, format the proper grammar so the display looks right
			if ( $days >= 2 ) {
				$output	.=	$days . ' Tagen';
			} else if ( $days == 1 ) {
				$output	.=	'Morgen';
			} else if ( $days < 1 && $endTime < $dayEnd ) {
				$output	.=	'Heute';
			}
			
			if ( $days >= 2 && ($hours || $minutes) ) {
				$output	.=	', ';
			} else if ( ($days >= 1 && ($hours >= 1 || $minutes >= 1)) || ($endTime < $dayEnd && ($hours >= 1 || $minutes >= 1)) ) {
				$output	.=	' in ';
			} else if ( $endTime < $dayEnd ) {
				$output	.=	'!';
			}
			
			// check for hours, if there are 1 or more show today + that, if there are minutes show today + minutes, if it is just an hour, say it's happening
			if ( $hours ) {
				if ( $hours >= 2 ) {
					$output	.=	$hours . ' Std.';
				} else if ( $hours == 1 ) {
					$output	.=	'1 Std.';
				}
				
				if ( $minutes >= 1 ) {
					$output	.=	' und ';
				}
			}
			
			// check for minutes, if there are 1 or more show today + minutes
			if ( $minutes ) {
				if ( $minutes >= 2 ) {
					$output	.=	$minutes . ' Min.';
				} else if ( $minutes == 1 ) {
					$output	.=	'1 Minute';
				}
			}
			
			// close off the output tag if $inline == false
			if ( $inline == FALSE ) {
				$output	.=	"</p>\n";
			}
			
			
			// if the time has passed, whow the event is over
			if ( $autoDelete && $endTime < $dayStart ) {
				return;
			} else {
				// if the day of the event is over, tell us
				if ( $endTime < $dayStart ) {
					if ( $inline == TRUE && (!$title || $title == '') ) {
						$output	=	"(Sorry, es ist aus.)";
					}
					else if ( $inline == TRUE && $title ) {
						$output	=	"(Sorry, " . $title . " is already over)";
					}
					else {
						$output	=	'<p>Sorry, &ldquo;<strong>' . $title . "</strong>&rdquo; ist vorbei.</p>";
					}
					
				}
			}
			
			if ( $inPost ) {
				return $output;
			}
			else {
				echo $output;
			}
		}
		else {
			//	return a null value since no date was given
			return;
		}
	}


Ob Du dieses oder ein anderes WordPress CountDown Plugin nutzt oder ganz was anderes ist egal. Ich mag auch Dich am 1.Juli 2007 beim CSSNeustart antreffen. ;)
4

4 Beiträge zu “Simple Countdown -nützlich auch für den CSSNeustart Termin

  1. Kommentar Autor
    René
    Kommentar

    Eine Frage zum Thema Countdown, ist es möglich z.B. per Benutzerdefiniertes Feld jedem Post einen Countdown zu verpassen? Also auf folgende Art:
    Kein Countdown definiert -> Anzeige: „Aktiv, Gültig, etc.“
    Countdown definiert und abgelaufen -> Anzeige „Abgelaufen“
    Countdown definiert und nicht abgelaufen -> Anzeige: „Restzeit“

  2. Kommentar Autor
    Monika
    Kommentar

    Hi René ich glaub ohne das Plugin zu hacken ist dies so nicht möglich, weil es ja nur 1x zählt

    lg

  3. Kommentar Autor
    René
    Kommentar

    Das habe ich mir schon gedacht, hatte gedacht vllt. kennt jemand eine Möglichkeit bzw. ein existierendes Plugin für solch einen Zweck.