Kategorie: Allgemein

HerrSpitau.de > Allgemein
Kategoriebasierende Banner mit WordPress

Kategoriebasierende Banner mit WordPress

Für einen Kunden bin ich gerade dabei ein WordPress aufzusetzen. Das Problem dabei ist, dass es ein kategoriebasiertes Bannersystem geben muss, da spezielle Kunden nur in definierten Bereichen Banner und Anzeigen schalten können sollen. Leider haben weder Stefan noch ich ein Plugin gefunden, welches das bewerkstelligen kann. Aber da ich so schnell ein „Nein“ oder ein „geht nicht“ nicht akzeptiere habe ich mal ein bisschen um die Ecke gedacht.

Das wpads-Plugin

Als Plugin der Wahl stand das Plugin wpads ganz oben in der Liste der zu nutzenden Plugins. Es ist in der Lage verschiedene Zonen zu definieren, in denen die Anzeigen dann rotieren. Diese Zonen wollte ich nutzen um Werbung nur in den dazugehörigen Kategorien anzeigen zu lassen. Das Plugin zeigt einem, nachdem man die erste Werbung definiert hat, mit welchem php-Code man die Zone im Template definieren kann. Das Ganze folgt folgender Syntax:

<?php wpads('sidebar'); ?>

sidebar steht hier für die verwendete Zone.

Einmal um die Ecke bitte

Mein Gedanke war nun anstelle des Strings sidebar einfach den Namen der Kategorie zu definieren. Da die Zonen in der wpads nicht in der Lage sind Leerzeichen zu interpretieren, kam ich auf Idee die nicenames der Kategorien zu nutzen. Leider habe ich keine WordPress-Funktion gefunden, die mir diesen liefert, jedenfalls nicht um sie in den Templates zu nutzen. Also habe ich die eben geschrieben. Da WordPress recht adminfreundlich1 ist, kann man im Template-Verzeichnis einfach eine Datei functions.php anlegen2 und folgenden Code dort hinein schreiben.3

<?php
function get_category_nicename($cat_id) {
    $cat_id = (int) $cat_id;
    $category = &get_category($cat_id);
    return $category->category_nicename;
}
?>

Diese Funktion erlaubt es nun den nicename mit dem Parameter der cat_id auszulesen.

Anpassung des Templates

Nun muss man die einzelnen Template-Dateien (single.php, archive.php …) mit dem Code bestücken, der die Auslieferung der Anzeigen iniziiert. Ich habe um die Anzeige noch einen div gelegt, um margins oder paddings zu setzen.

<div class="ads">
<?php foreach (wp_get_post_categories() as $cat_id){
    wpads(get_category_nicename($cat_id));
}?>
</div>

Hier ist darauf zu beachten, dass es schon zur Anzeige einiger Werbung kommen kann, wenn ein Beitrag in mehreren Kategorien geschrieben wurde. 😉 Dort müssten dann noch Regeln hinzugefügt werden, die es ermöglichen nur ein oder maximal zwei Banner anzeigen zu lassen.

Alles zum Laufen bringen

{wpads} Hier werden die nicenames definiert.

{wpads} Hier wird die Zone definiert, die gleich zu den nicenames sein sollten.

Um nun die Banner auch an der richtigen Adresse anzeigen zu lassen, müssen die nicenames der Kategorien und die Zonen der Ads exakt gleich lauten. Zur Verdeutlichung wie man wo, was einstellen muss, habe ich keine Mühen gescheut, um Euch zwei super Screenshots zur Verfügung zu stellen.

Werben, aber immer!

Möchte man, dass auf alle Fälle ein Banner gezeigt wird, auch wenn in der Kategorie im Moment keines gespeichert ist, dann richtet man sich eine Zone fallback ein und erweitert seine functions.php um folgende Funktion:

function get_category_wpads() {
	foreach (wp_get_post_categories() as $cat_id) {
		if (get_wpads(get_category_nicename($cat_id))==false) wpads('fallback');
		else wpads(get_category_nicename($cat_id));
	}
}

Dort wo nun kategoriebasierte Werbung erscheinen soll, nun folgen Quellcode in die einzelnen Template-Dateien einfügen:

<div class="ads">
    <?php get_category_wpads(); ?>
</div>

Ohne Gewähr

Für die Veränderungen im Code und in Euren Templates übernehmt ihr die Verantwortung! Ich habe hier nur Denkanstöße und keine Handlungsanweisung gegeben.

  1. Ich wähle absichtlich nicht entwicklerfreundlich, da ich mich in diesem Fall nicht als Entwickler, sondern „nur“ als Admin sehe. []
  2. Sollte man ein fertiges Template nutzen, welches in der Lage ist mit Widgets zu arbeiten, wird es diese Datei schon geben. []
  3. Bei einer schon bestehenden Datei können/müssen die Tags <?php und ?> nicht eingefügt werden. []
Medienecho zum zehnten Todestag

Medienecho zum zehnten Todestag

Nun geschah es so, wie ich es erwartet habe… Zum zehnten (31. August) Todestag von Lady Di ging mal wieder ein Raunen durch die Medienlandschaft. Überall gab es Nachrufe und Erinnerungssendungen für die verstorbene Prinzessin. Der Springer Verlag druckte in seiner allseits bekannten Tageszeitung sogar einen Diana Comic, der die letzten Stunden ihres Leben veranschaulichte. In meinen Augen eine zwar absonderliche Art seine Trauer oder sein Mitgefühl zu zeigen, aber dennoch ein Medienecho.

Vorgestern (5. September) war ebenso der zehnte Todestag von Mutter Teresa. In den Massenmedien habe ich nicht einen Bericht, einen Kommentar, geschweige denn einen Nachruf gesehen oder gehört. Schade eigentlich… immerhin ist Mutter Teresa bereits sechs Jahre nach ihrem Tod selig gesprochen worden.

Neues Design für blog.spitau.de

Neues Design für blog.spitau.de

In der letzten Zeit ist es etwas still geworden in diesem Blog, aber nur weil ich die Zeit, die ich sonst zum bloggen nutzten würde, in ein neues Design gesteckt habe. Als Framework für dieses Design habe ich blueprint von Olav genutzt, damit war es mir möglich schnell und einfach Elemente auf der Seite zu platzieren. Die Grafiken sind in Inkscape entstanden und gecodet habe ich das Ganze in Quanta. Als Vorlagen dienten sowohl das Freshy-Theme, als auch Kubrik-Standard.

Für Kommentare und Kritik bin ich bereit und offen. Darstellungsschwierigkeiten in diversen Browsern bitte  an blog (at) spitau.de inkl. Screenshot.

Yigg-Buttons bis auf Weiteres deaktiviert

Yigg-Buttons bis auf Weiteres deaktiviert

yigg2.pngIch mag die Idee und auch die Umsetzung von yigg.de wirklich, aber leider bin ich gezwungen, das Yigger-Plugin für WordPress zu deaktivieren.

Seit gestern Abend blockiert dieses Plugin meine Blogs. Ein vollständiges laden der Blogs ist nicht mehr möglich und so wartet man unendlich lange bis man etwas lesen kann. Dass dieses kontraproduktiv ist und gerade neue Leser sicherlich abschreckt, braucht nicht betont werden.

Das Laden der Seite unterbricht dort, wenn versucht wird etwas von webtool.yigg.de zu laden (siehe Bild).

Die Fragen sind  nun: Ist es ein BUG im Plugin? Hat yigg seine API verändert, ohne es zu melden? Wird es ein Statement von yigg.de geben?

International Short Film Festival Detmold / Lippe

International Short Film Festival Detmold / Lippe

Das Logo des International Short Film Festival Detmold 2007Mal wieder Lust auf ein bisschen Kultur und Kunst?! Aber null Bock auf Museum und Bilder von toten Künstlern?! Dann habe ich hier genau das Richtige.

Vom 26. bis zum 30. September 2007 werden in Detmold nahezu 180 Kurzfilme aus allen Herren-Länder auf dem „International Short Film Festival“ gezeigt und können bewundert wurden. In diesem Jahr kommen gerade die Freunde der schwarz-weiß Filme auf ihre Kosten, da besonders viele Einsendungen auf Farben verzichteten. Auf Farben nicht verzichtet, wurde in dem Trailer des Festivals, der schon im zweiten Jahr von Jan Fuchs produziert wurde.

Über den Tag verteilt werden nicht nur Kurzfilme gezeigt – ein Rahmeprogramm in Form von Konzerten und diversen Installationen versprechen einen kurzweiligen Ausflug.