Ich benutze ein Child Theme, wo ich archive.php bearbeite. Wenn jemand auf die Kategorie eines Beitrags klickt, möchte ich auf der Archivseite alle Beiträge anzeigen, die ALLE Kategorien dieses Beitrags zur gleichen Zeit teilen.
Hier ist mein Code:
$post_cats, ) ); if($myquery->have_posts()) : ?> <?php the_archive_title( '', '
' ); the_archive_description( '', '' ); ?> have_posts()) : $myquery->the_post(); get_template_part( 'template-parts/content', get_post_format() ); endwhile; the_posts_pagination( array( 'prev_text' => __( 'Previous page', 'twentysixteen' ), 'next_text' => __( 'Next page', 'twentysixteen' ), 'before_page_number' => ' ', ) ); else : get_template_part( 'template-parts/content', 'none' ); endif; ?>
Seltsamerweise zeigt meine Archivseite IMMER immer Posts an, die genau die Kategorien 23 und 11 teilen – auch wenn sich die Kategorien der Post von diesen unterscheiden!
Zusätzliche Informationen, die vielleicht etwas mit dem Problem zu tun haben: Bevor ich zu dieser 'category__and' => array(23,11)
, habe ich mit anderen Lösungen gearbeitet, wo ich auch etwas wie 'category__and' => array(23,11)
; Das war, um die Hauptfunktion herauszufinden, bevor ich dann den wp_get_post_categories
Teil installierte. Vielleicht könnte das der Ort sein, wo 23,11
herkommen, aber ich weiß nicht wie und warum sie jetzt 23,11
sind …
Dankbar für jeden Hinweis!
Anfrage
Die function wp_get_post_categories gibt die Kategorien für den ersten Post in der Schleife zurück, nicht den Post, auf den der Benutzer gerade geklickt hat.
Sie müssen die Kategorien aus dem vorherigen Post übergeben, um sie in Ihrer benutzerdefinierten Schleife zu verwenden.