perun.net – WordPress & Webwork



WordPress: Anzeigen nach dem ersten, zweiten und dem dritten Artikel in der Übersicht einblenden

Von am 02. 02. 2013 um 12:29 – Aktualisiert am 05. 02. 2013 um 16:13

Wie kann man in WordPress auf der Startseite und in den einzelnen Archiven nach dem ersten, dem zweiten und dem dritten Artikel Werbung oder Hinweise einblenden lassen?

Hier die Antwort auf die Frage eines Lesers, wie ich hier auf perun.net auf der Start- und den Übersichtsseiten nach dem ersten, dem zweiten und dem dritten Artikel die einzelnen Werbeblöcke ausgeben lasse.

Anzeigen nach dem ersten, zweiten und den dritten Artikel in der Übersicht von WordPress

Zuerst schaust du in deinem WordPress-Theme wo überall der Loop für die einzelnen Übersichtsseiten definiert wird. In ganz einfachen Themes ist dies nur in der index.php und in den anderen Themes wären dies noch die category.php und die tag.php usw.

Der Aufbau des Loops kann von Theme zu Theme erheblich abweichen, aber hier ein recht verbreitetes Beispiel:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); /* Loop startet */ ?>
[...]
<?php comments_template(); /* Kommentare */ ?>
<?php endwhile; else: ?>
    <p>Tut mir leid, es wurde kein passender Beitrag gefunden.</p>
<?php endif; /* Loop-Ende */ ?>

Nun geht es darum vor dem Loop einen Zähler zu initiieren und im zweiten Schritt mit dem Zählen zu beginnen:

<?php $anzeige = 0; /* Zähler auf Null setzen */ ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); /* Loop startet */ ?>
<?php $anzeige++; /* Zähler fängt an zu zählen */ ?>
[...]

… und nun wird im dritten Schritt die Anzeige ausgegeben:

    <?php if ($anzeige < 4) {echo "Banner-Code"} ?>
<?php comments_template(); ?>
<?php endwhile; else: ?>

Will man anstatt drei nur zwei Anzeigenblöcke einbinden dann steht hier anstatt $anzeige < 4 dann $anzeige < 3 und bei einem Anzeigenblock $anzeige < 2.

Möchte man etwas Abwechslung in den Anzeigen hinbekommen, dann kann man auf mehreren Wegen eingreifen. Zum einen könnte man if-Statements – zum Beispiel: if ($ad == 1) – den Zähler abfragen und entsprechenden Banner-Code ausgeben lassen oder man könnte auf so Plugins wie zum Beispiel AdRotate ausweichen:

<?php $anzeige = 0; ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php $anzeige++; ?>
[...]
    <?php if (($anzeige < 4) and function_exists('adrotate_group')) {echo adrotate_group(xy);} ?>
<?php comments_template(); ?>
<?php endwhile; else: ?>

Dieses Code-Beispiel hat bereits die Abfrage eingebaut ob das AdRotate aktiv ist. Wenn ja, dann soll die Anzeigengruppe mit der Nummer xy ausgegeben wird. Wobei das xy für die ID der jeweiligen Anzeigengruppe in AdRotate steht, die man im Backend ablesen kann.

Soweit alles klar? Gibt es dazu noch Fragen?

Diesen Artikel weiterempfehlen:

Premium WordPress Themes

Verwandte Artikel:

 — 


3 Kommentare »»

  1. 1.Lars Mielke

    Kommentar vom 02.02.2013 um 21:00

    Ist ja n' Ding. So habe ich meine Werbeblöcke auch hart reingeschrieben.
    Allerdings noch mit dem Zusatz, dass sich zwei unterschiedliche Werbeblöcke abwechseln.

  2. 2.Thomas Scholz

    Kommentar vom 02.02.2013 um 21:10

    Idealerweise hält man derlei Logik aus dem Theme heraus; das gehört separiert in ein Plugin.

    Hier ein sehr einfaches Beispiel, mit dem man an beliebiger Stelle in beliebigen Loops den Inhalt eines – ja schon wieder! – beliebigen Widgets ausgeben kann. :)

  3. 3.Anzeigen zwischen Artikeln schalten – WordPress | Online Marketing News

    Pingback vom 27.02.2013 um 08:04

    [...] Anzeigen zwischen Artikeln schalten [...]

Einen Kommentar hinterlassen




XHTML (folgende Tags sind erlaubt): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> . Kommentar-Vorschau ist aktiviert (Javascript wird benötigt).

Code-Beispiele: damit die Code-Beispiele richtig angezeigt werden müssen die Sonderzeichen maskiert werden (z. B. < zu &lt;).



Weblog der perun.net webwork gmbh mit Artikeln zum Thema WordPress, Webwork, und Internet.