WordPress - Erhalten von Beiträgen nach benutzerdefiniertem Beitragstyp und Kategorie, wobei jede Kategorie automatisch in eine DIV eingeschlossen wird

Entschuldigung für den langen Fragentitel. Ich habe versucht, genau zu sein.

Ich muss eine WordPress-Abfrage erstellen, die automatisch Beiträge von einem bestimmten benutzerdefinierten Beitragstyp abruft, erkennt, wie jeder Beitrag kategorisiert ist, und die Beiträge nach Kategorie auf einer Seite ausgibt, wobei jede Kategorie in einer eigenen DIV enthalten ist.

Ich habe zum Beispiel einen benutzerdefinierten Beitragstyp namens "Kartendaten". In diesem benutzerdefinierten Beitragstyp habe ich eine hierarchische Taxonomie, die ich "Kategorien" genannt habe, und in dieser Taxonomie eine Reihe von Kategorien, "Kategorie 1", "Kategorie 2" usw. Jede Kategorie hat eine Anzahl von Beiträgen.

Die Abfrage sollte daher eine Liste aller Kategorien innerhalb des benutzerdefinierten Beitragstyps erhalten und dann etwa Folgendes ausgeben:

<code><div id="category-1">
     <div class="post">This is a post in Category 1</div>
     <div class="post">This is another post in Category 1</div>
</div>
<div id="category-2">
     <div class="post">This is a post in Category 1</div>
     <div class="post">This is another post in Category 1</div>
</div>
</code>

Ich habe den folgenden Code, der mit dem standardmäßigen WordPress-Kategoriesystem funktioniert. Ich muss ihn jedoch entweder neu schreiben oder aktualisieren, damit er mit benutzerdefinierten Beitragstypen und ihren Taxonomien funktioniert.

<code><?php 
    $cat_args=array();
    $categories=get_categories($cat_args);
    foreach($categories as $category) {
        $args=array(
            'category__in' => array($category->term_id),
        );
    $posts=get_posts($args);
        if ($posts) {
            echo '<div class="cat" id="' . $category->slug.'" name="' . $category->name.'">';
            foreach($posts as $post) {
          setup_postdata($post); 
?>

<?php the_title();?>
<?php the_content();?>

<?php
        } // foreach($posts
        echo '</div>';
      } // if ($posts
    } // foreach($categories
?>
</code>

Wenn jemand einen aktualisierten Code oder ein funktionierendes Beispiel für mich bereitstellen könnte, wäre er sehr dankbar.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage