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 adminfreundlich ((Ich wähle absichtlich nicht entwicklerfreundlich, da ich mich in diesem Fall nicht als Entwickler, sondern „nur“ als Admin sehe.)) ist, kann man im Template-Verzeichnis einfach eine Datei functions.php anlegen ((Sollte man ein fertiges Template nutzen, welches in der Lage ist mit Widgets zu arbeiten, wird es diese Datei schon geben. )) und folgenden Code dort hinein schreiben. ((Bei einer schon bestehenden Datei können/müssen die Tags <?php und ?> nicht eingefügt werden.))

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

Kommentare

24 Antworten zu „Kategoriebasierende Banner mit WordPress“

  1. Avatar von markus
    markus

    Eine sehr schöne Seite hast du da.

    Ich wollte das WPAds einfach so einbinden und dann über Widgets den PHP-Code verarbeiten (mit Executable PHP-Widget). Allerdings funktioniert das bei mir nicht. Hast du einen Tipp?

    Gruß Markus

  2. Avatar von markus

    Habe raus gefunden, dass es an Amazon liegt.. 🙂

  3. Avatar von Top Downloads
    Top Downloads

    Danke, für plugin.

  4. Avatar von Mathias
    Mathias

    Hallo!
    Ich würde auch gerne das Orginal wpads- Plugin benutzen. Leider ist die Seite wohl down. Kannste mir das evtl per Mail schicken?
    Gruß
    Mathias

  5. Avatar von dizi izle
    dizi izle

    Eine sehr schöne Seite hast du da.

  6. Avatar von dizi izle
    dizi izle

    Danke, für plugin.

  7. Avatar von denn2000

    Let us hope for the best

  8. Avatar von Michael Smith

    Very thankful to you for the plugin.
    It works! 🙂

  9. Avatar von Linuxos

    ich hoffe ich habe nicht nachlässig gesucht aber ich kann die Druckversicon nicht finden.
    Macht nix – trotzdem ein sehr guter Artikel

  10. Avatar von Alexey Balyabo

    Sehr nützlich plugin
    Danke

  11. Avatar von Doc

    Du hast Sehr schöne Seite. Danke

  12. Avatar von Gitarren Freak

    Cool werde das Plugin definitiv testen, denke es wird dem ein oder anderen Blogger bestimmt eine Menge Arbeit ersparen.

  13. Avatar von nachwachsende rohstoffe

    habe technisch null verstanden, worum es geht. aber für meinen arbeitgeber wird diese geschichte ganz bestimmt interessant sein, wir haben nämlich ein ähnlich gelagertes problem.

  14. Avatar von sky
    sky

    Top Artikel
    Mal sehen ob es bei mir auch geht

    MfG
    Sky

  15. Avatar von M.Balk

    Wie beschrieben – so ausgeführt.Hat alles gut funktioniert. Danke!

  16. Avatar von video izle

    Danke, für plugin

  17. Avatar von sean

    Besten Dank auch von mir! Alles funktioniert richtig prima!
    Weiter so!

  18. Avatar von Festliche Kleider
    Festliche Kleider

    Gerne gelesen Ihren Beitrag …

  19. Avatar von dizi izle
    dizi izle

    thanks you..

  20. Avatar von Maxi

    Thank you so freakin much!

  21. Avatar von Kathi

    Hallo,

    Sehr interessanter Beitrag, vielen Dank für die tolle Präsentation der Informationen.

    Lg Kathi

  22. Avatar von diyadinnet

    Besten Dank auch von mir! Alles funktioniert richtig prima!
    Weiter so!

    1. Avatar von MAWSpitau

      Hui. Das ist lange her, dass ich das hier schrieb. Aber wenn es noch immer funktioniert. Thumbs up!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert