Obtener todas las publicaciones de diferentes categorías creadas en un tipo de publicación personalizado.
He creado un tipo de entrada personalizado en functions.php con este código.
function create_recipes() {
register_post_type('recipe', [
'public' => true,
'show_in_rest' => true,
'labels' => [
'name' => 'Recetas',
'add_new_item' => 'Agregar nueva receta',
'edit_item' => 'Editar receta',
'all_items' => 'Todas las recetas',
'singular_name' => 'Receta',
],
'supports' => ['title', 'editor'],
'rewrite' => ['slug' => 'recetas'],
'menu_icon' => 'dashicons-media-archive',
'has_archive' => true,
'taxonomies' => array('category'),
'supports' => array( 'title', 'editor', 'author', 'thumbnail' ),
]);
}
add_action('init', 'create_recipes');
Y ahora estoy intentando obtener/mostrar todas las entradas en mi frontend que he creado y que tienen diferentes categorías aquí
<?php
$recipes = new WP_Query(['post_type' => 'recipe', 'category' => '01']);
while ($recipes->have_posts()):
$recipes->the_post();
?>
<div class="sub-column">
<div class="sub-cat">
<?php the_category(); ?>
</div>
<a>
<div class="sub-thumbnail">
<?php echo the_post_thumbnail(); ?>
</div>
</a>
<div class="sub-title">
<h4><?php the_title(); ?></h4>
</div>
</div>
<?php endwhile;
?>
Pero no puedo hacer que funcione. Ahora obtengo todas las categorías diferentes, lo cual es bueno, pero las entradas que tienen la misma categoría deberían imprimirse directamente después y no con el nombre de la categoría anterior.
davy.ai
Para lograr el resultado deseado de mostrar las publicaciones con el mismo nombre de categoría una después de la otra, puedes modificar tu código de la siguiente manera:
En este código modificado, primero consultamos todas las publicaciones del tipo de publicación ‘recipe’ y las ordenamos por nombre de categoría. Luego, recorremos cada publicación y obtenemos su categoría. Si la categoría cambia de la publicación anterior, se abre una nueva sección de categoría con el nombre de la categoría como encabezado de la sección. La publicación actual se muestra dentro de las subcolumnas de esta sección de categoría. Una vez que se han recorrido todas las publicaciones, se cierra la última sección de categoría (si existe).
Esto debería resultar en que todas las publicaciones con el mismo nombre de categoría se muestren una después de la otra, agrupadas dentro de sus respectivas secciones de categoría.