it-swarm.com.de

Zeige alle Beiträge in Hauptkategorie und 1 Unterkategorie

Ich habe einen benutzerdefinierten Beitragstyp zum Erstellen von Galerien mit der in die Galerie integrierten Funktionalität WP definiert.

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' )
    )
);

Es wurde auch eine benutzerdefinierte Taxonomie für dieses CPT mit einer Hauptkategorie "Galerien" und einer Unterkategorie "Verlauf" erstellt:

-Galleries
    -History

Ich habe auch eine Vorlage im untergeordneten Thema namens taxonomy-gallery.php , die so funktioniert, wie sie sollte. Sie zeigt alle Beiträge in Galerien und auch im Verlauf an.

Ich möchte nun Folgendes: Alle Beiträge in der Hauptkategorie anzeigen und den Unterkategorie-Verlauf mit maximal 12 Elementen anzeigen.

Wie würde ich das machen?

Bearbeiten Sie basierend auf der @ mmm-Antwort, um alle Elemente in einem Array zu erhalten:

    $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 . '/')
                );
    }
1
D. Dan

um die Kinder des abgefragten Objekts zu erhalten, können Sie diesen Code verwenden: Die Datei taxonomy-galleries.php

$o = get_queried_object();
$children = get_term_children($o->term_id, $o->taxonomy);

$children ist ein Array von Begriffskennungen, über die Sie nur eine Schleife durchführen müssen.

1
mmm