Hallo,
ich habe ein Problem mit dem Plugin tj_site_news und einem selbst gestricktem Seitentemplate und muss gerade feststellen, daß ich mit meinen rudimentären php- und wp-code-Kenntnissen nicht mehr weiter komme. :-?
Ich habe mir folgendes Seitentemplate gebastelt:
<?php
/*
Template Name: Formulare
*/
?>
<?php get_header(); ?>
<div id="content" class="narrowcolumn">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h2><?php the_title(); ?></h2>
<?php edit_post_link('<img src="' . get_bloginfo('stylesheet_directory') . '/images/page_edit.png"> Seite bearbeiten', '<p>', '</p>'); ?>
<div class="entry">
<?php the_content('<p class="serif"><strong>Den ganzen Beitrag lesen...</strong></p>'); ?>
<?php wp_link_pages(array('before' => '<p><strong>Seiten:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
</div>
</div>
<?php endwhile; endif; ?>
<?php $more = 0;
query_posts('cat=141&orderby=title&posts_per_page=-1'); // Auswahl der Kategorie ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h3><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3>
<div class="entry" id="faq">
<?php the_content('Erläuterungen zur Verwendung »'); ?>
</div>
</div>
<?php endwhile; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Alles anzeigen
Das Template listet auf der entsprechenden Seite die Beiträge einer bestimmten (hier: 141) Kategorie auf. Funktioniert auch einwandfrei.
Wenn ich den Loop richtig verstanden habe, spricht man vom Loop, wenn mit der while-Schleife " if (have_posts()) : while (have_posts()) : the_post(); " geprüft wird ob posts vorliegen, sprich ein Loop wird gestartet (ist das so richtig?).
Das bedeutet, in meinem Template wird zweimal ein Loop gestartet. Einmal um die Seite aufzurufen und einmal um die Artikel einzulesen. Richtig?
Ob das grundsätzlich richtig gelöst ist, weiss ich nicht, aber es funktioniert.
Dann noch das Plugin tj_site_news, dies blendet eine Art Banner als erstes auf der Seite ein, wo man aktuelle Hinweise u. ä. anzeigen lassen kann.
Lange Vorrede (schön, das Du noch Da bist...:)), aber jetzt zu meinem eigentlichen Problem:
Das Plugin wird mit jedem aufgerufenen Loop-Start durch vermutlich folgenden Code aufgerufen:
Das hat im Fall meines vorbeschriebenen Templates zur Folge, das es zweimal auf der Seite erscheint, weil der Loop ja zweimal aufgerufen wird.
Nun meine Frage, wie kann ich die zweite Anzeige unterdrücken?
Meine Idee war das add_action irgendwie in eine if-Abfrage zu packen, die prüft, ob die Funktion schon aufgerufen wurde. Ich bekomm´s nur nicht hin.
Kann mir da mal jemand unter die Arme greifen?
Bin auch für andere Lösungsansätze (nur einer Loop-Schleife im Template?) offen.
Danke schon mal,
Jan