Post Notification Formular in der Sidebar – give my loop a try

Das WordPress Plugin Post Notification bietet die Möglichkeit per Email über neue Beiträge informiert zu werden. Man meldet sich mit double opt in Verfahren an und kann sich dann sogar die Kategorien aussuchen, über die man informiert werden möchte.

This article in english: ==> Click!

Dies alles ist auf der Pluginhomepage noch besser erklärt. Ein Supportforum gibt es auch und Moritz Strübe ist sehr engagiert und bemüht. Recht herzlichen Dank dafür.

Das WP Plugin Post Notification erzeugt -wenn man es ihm anschafft – ganz automatisch eine statische Seite für die Anmeldung. Jetzt möchten viele aber nicht nur den Link zu dieser Anmeldeseite, sondern wenn geht bereits das Anmeldeformular in der Sidebar anzeigen lassen. Somit ist die Verführung sich anzumelden sicher höher.

Einfach das Anmeldeformular in die Sidebar kopieren hat zur Folge, dass die eingegebenen Emailadressen nicht in der Datenbank gespeichert werden. Auch wen vordergründig alles funktionierte. Dann hatte ich die Idee eines normalen Loops, der mir eben nur die statische Seite mit dem Postslug ‚post_notification_header‘ anzeigt. Dies funktionierte tadellos.

Allerdings möchte ich in der Sidebar die aktiven Kategorien und statischen Seiten kennzeichnen. Dies zerstörte der ganz normale Loop, weil WordPress dann ja nicht mehr wusste, wo es jetzt ist.(Ist laienhaft erklärt, aber so versteh ich es auch. ;))

So kam mir nach einem Kaffee -das Wundergetränk – die Idee eines neuen Loops. Ich mag ja, dass WordPress ‚my query‘ realisiert. Und siehe da, das WordPress Plugin Post Notification funktioniert. Das Anzeigen der aktiven Kategorien oder aktiven statischen Seiten funktioniert und ich konnte sogar ausschließen, dass diese Anzeige des Plugins in der Sidebar auf der statischen Seite mit dem Postslug ‚post_notification_header‘ NICHT dargestellt wird.

Dies ergäbe nämlich sonst alles ‚doppelt gemoppelt‘.

Meine Vorgangsweise um das Plugin Post Notification auch in der Sidebar anzuzeigen.

Plugin installiert und dann alles gemacht wie beschrieben.

Admincenter==>Einstellungen==>Post Notification==>Einstellungen

Relativ weit unten steht dann „Post Notification-Seite hinzufügen:“ Das hakte ich an.

Admincenter==>Verwaltung==>Seiten==> die ID dieser statischen Seite merken. Oder den Postslug verwenden wie ich. ;)

Beispiel die statische Seite, die das Plugin erzeugt hat,hat die ID 43.

Dann tippe ich folgendes in die Sidebar. Und zwar bevor der Widgetcode anfängt oder nachdem er aufgehört hat!


<?php if(!is_page('43')) :?>
<p>Info über neue Posts per Email</p>
<?php     
rewind_posts();     
global $more;
$more = 0; 
$my_query = new WP_Query('page_id=43');
while ($my_query->have_posts()) : $my_query->the_post();
  $do_not_duplicate = $post->ID; ?>

  <?php the_content(); ?>
 <?php endwhile; ?>
<?php endif; ?>

Dies bedeutet:

Wenn dies nicht die statische Seite mit der ID 43 ist, dann fahre den Loop zurück (rewind….). Zeige mir den ganzen Content an, auch wenn es den „more link“ gäbe, (more =0) .

Jetzt, liebes WordPress hole mir aus der Datenbank die statische Seite mit der ID 43, zeige nichts doppelt an. Liefere mir den Inhalt (the content) .

Beende den Loop. Beende die if Abfrage.

Das war es schon. Dank und Dank Moritz Strübe.
Der sich nicht nur über Kommentare, sondern sicher auch über monitäre Dankeschöns freut.

WordPress Plugin Post Notification is a wonderful tool. It creates a static „subscribe page“ if you follow the authors instructions.

But you would like to have this subscribe formular blogwide in your sidebar. This seduce your reader to subscribe much better than a click on a link to an extra static page. ;)

Dieser Artikel in Deutsch: ==> Klick!

» You need the ID of this static page. Its postslug is „‚post_notification_header'“.

The id of my static page with the postslug „post_notification_header“ is 43.

I use this loop in sidebar.php.

» Before widget code starts or after widget code ends. Never ever between. It can’t work between this code, if you are using widgets!


<?php if(!is_page('43')) :?>
<p>Post Notification </p>
<?php     
rewind_posts();     
global $more;
$more = 0; 
$my_query = new WP_Query('page_id=43');
while ($my_query->have_posts()) : $my_query->the_post();
  $do_not_duplicate = $post->ID; ?>

  <?php the_content(); ?>
 <?php endwhile; ?>
<?php endif; ?>

I try to explain this loop. ;)

Dear WordPress don’t show the content of static page 43 in my sidebar if it is static page 43. (Logical. Nobody would like to read the same content twice. )

Dear WordPress start again with a new loop (rewind posts) – give me the full content if there is a more-link or not (more=0).

Search my query-not your default loop. Search for page id 43 in your datacenter and give me a unique result. ( do not duplicate..).

Show me the content.

„php“ your work is done (endwhile and endif).

This works like a charme for me and I hope for you too.

Thats it. The idea for this loop is the result of a big cup of coffee. . Thanks to Moritz Strübe for his great plugin.

And you know: I would like to read a comment. Or the sky will fall on your head …..