WordPress - Obtener publicaciones por tipo de publicación personalizada y categoría, con cada categoría encerrada automáticamente en un DIV

Lo siento por el título de la pregunta larga. Estaba tratando de ser exacto.

Necesito diseñar una consulta de WordPress que automáticamente obtenga publicaciones de un determinado tipo de publicación personalizada, detecte cómo se clasifica cada publicación y luego las publica, por categoría, en una página, con cada categoría encerrada en su propio DIV.

Por ejemplo, tengo un tipo de publicación personalizada llamada "Datos de mapa". Dentro de este tipo de publicación personalizada, tengo una taxonomía jerárquica que he llamado "Categorías", y dentro de esa taxonomía, una serie de categorías, "Categoría # 1", "Categoría # 2", y así sucesivamente. Cada categoría tiene un número de mensajes.

Por lo tanto, la consulta debe obtener una lista de todas las categorías dentro del tipo de publicación personalizada y luego mostrar algo como esto:

<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>

Tengo el siguiente código que funciona con el sistema de Categoría de WordPress predeterminado, sin embargo, debo volver a escribirlo o actualizarlo para que pueda funcionar con tipos de correos personalizados y sus taxonomías.

<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>

Si alguien pudiera proporcionar un código actualizado para que lo probara, o un ejemplo de trabajo, sería muy apreciado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta