Moin zusammen,
ich habe unter: https://rikerandom.de/nerdy/how-to/rezensionsindex-part-4/
eine Anleitung gefunden für einen Index mit dem man beispielsweise Rezensionen zu Büchern nach Buchautoren sortiert anzeigen lassen können soll. Dazu habe ich ein Seitentemplate erstellt.
Ich habe die Funktion soweit hinbekommen, dass der Index angezeigt wird und zu den Buchstaben auch mittels Anker gesprungen wird. Nun sollen alle Artikel ausgelesen werden, die als benutzerdefinierte Felder einen Buchautor haben. (Aktuell zu Testzwecken 2 Artikel) Die Auslesung funktioniert. Es werden beide Artikel bei Ihren Buchstaben angezeigt.
Jetzt kommen wir zu dem was nicht funktioniert. Wenn Ihr auf http://blog.hoerske.de/rezensionsindex/
schaut, dann seht Ihr, dass der Loop für jeden Buchstaben des Alphabets eine neue Reihe an Buchstaben auf macht. Also läuft der Loop irgendwie unkontrolliert.
Hier zu nächst mein Code für den Index:
<?php the_content(); endwhile; ?>
<h3><a href="#a">A</a>
<a href="#b">B</a>
<a href="#c">C</a>
<a href="#d">D</a>
<a href="#e">E</a>
<a href="#f">F</a>
<a href="#g">G</a>
<a href="#h">H</a>
<a href="#i">I</a>
<a href="#j">J</a>
<a href="#k">K</a>
<a href="#l">L</a>
<a href="#m">M</a>
<a href="#n">N</a>
<a href="#o">O</a>
<a href="#p">P</a>
<a href="#q">Q</a>
<a href="#r">R</a>
<a href="#s">S</a>
<a href="#t">T</a>
<a href="#u">U</a>
<a href="#v">V</a>
<a href="#w">W</a>
<a href="#x">X</a>
<a href="#y">Y</a>
<a href="#z">Z</a></h3>
<p></p>
Alles anzeigen
Dann kommt die Auslesung mit dem ersten Buchstaben A:
<?php $my_query = new WP_Query( array( ‚meta_key‘ => ‚buchautor‘,
‚orderby‘ => ‚meta_value‘,
‚order‘ => ‚ASC‘
) );
while ( $my_query->have_posts() ) : $my_query->the_post();
$autor = get_post_meta($post->ID, buchautor, true);
$this_letter = strtoupper(substr($autor,0,1)); ?>
<h3 id="a">A</h3>
<ul><?php if ($this_letter == A) { ?>
<li><?php $key="buchautor"; echo get_post_meta($post->ID, $key, true); ?>:
<?php $key="buchtitel"; echo get_post_meta($post->ID, $key, true); ?> -
Artikel: <a href="<?php echo esc_url( get_permalink() ); ?>">
<?php the_title(); ?></a></li>
<?php } ?></ul>
Alles anzeigen
Jeder weitere Buchstabe sieht so aus:
<h3 id="b">B</h3>
<ul><?php if ($this_letter == B) { ?>
<li><?php $key="buchautor"; echo get_post_meta($post->ID, $key, true); ?>:
<?php $key="buchtitel"; echo get_post_meta($post->ID, $key, true); ?> -
Artikel: <a href="<?php echo esc_url( get_permalink() ); ?>">
<?php the_title(); ?></a></li>
<?php } ?></ul>
Der Schluss des Skriptes endet mit dem Buchstaben Z:
<h3 id="z">Z</h3>
<ul><?php if ($this_letter == Z) { ?>
<li><?php $key="buchautor"; echo get_post_meta($post->ID, $key, true); ?>:
<?php $key="buchtitel"; echo get_post_meta($post->ID, $key, true); ?> -
Artikel: <a href="<?php echo esc_url( get_permalink() ); ?>">
<?php the_title(); ?></a></li>
<?php } endwhile; ?>
</div>
<!-- .entry-content -->
Alles anzeigen
Habt Ihr eine Ahnung wo der Fehler liegen könnte? Ich sehe den Wald vor lauter Bäumen nicht.
Ich danke euch...
Timo