J'ai défini un type de publication personnalisé pour la création de galeries à l'aide de la fonctionnalité de galerie intégrée WP.
register_post_type( 'my_gallery',
array(
'labels' => array(
'name' => __( 'Gallery', 'my-child-theme' ),
'singular_name' => __( 'Gallery', 'my-child-theme' )
),
'public' => true,
'supports' => array( 'title', 'editor', 'custom-fields', 'thumbnail' )
)
);
Également créé une taxonomie personnalisée pour ce CPT spécifique, avec une catégorie principale 'Galeries' et une sous-catégorie 'Historique':
-Galleries
-History
J'ai aussi un modèle dans le thème enfant appelé taxonomy-galleries.php qui fonctionne comme il se doit, il affiche tous les messages dans les galeries, ainsi que dans l'histoire.
Maintenant, voici ce que je veux: Afficher tous les articles de la catégorie principale et afficher l’historique des sous-catégories, paginé avec un maximum de 12 éléments.
Comment je ferais ça?
Editez sur la base de @mmm -s pour savoir comment obtenir tous les éléments d'un tableau:
$all_the_items = array();
while ( have_posts() ) : the_post();
$t = get_the_terms( $post->ID , 'my-taxonomy' );
if ($t[0]->parent == 0){
$properties = array(
'title' => get_the_title(),
'link' => get_the_permalink() );
$all_the_items[] = $properties;
}
endwhile; wp_reset_query();
$o = get_queried_object();
$children = get_term_children($o->term_id, $o->taxonomy);
foreach ($children as $child) {
$this_term = get_term($child);
$properties = array(
'title' => $this_term->name,
'link' => site_url('/' . $this_term->taxonomy . '/' . $this_term->slug . '/')
);
}
pour obtenir les enfants de l'objet interrogé, vous pouvez utiliser ce code dans le fichier taxonomy-galleries.php
$o = get_queried_object();
$children = get_term_children($o->term_id, $o->taxonomy);
$children
est un tableau d'identifiants de termes, il vous suffit de passer en boucle.