it-swarm.com.de

Listet alle Beiträge unter Benutzerdefinierter Beitragstyp auf, gruppiert sie jedoch dynamisch nach benutzerdefinierten Taxonomien

Ich habe einen benutzerdefinierten Beitragstyp mit dem Namen "Ressourcen" und einer Taxonomie mit dem Namen "Typen". Ich muss manuell jeden Begriff ziehen, was nicht die eleganteste Lösung ist, und jedes Mal, wenn ein neuer Begriff hinzugefügt wird, muss ich ihn manuell hinzufügen.

Ich benötige eine Möglichkeit, um die Nutzungsbedingungen mit den unten aufgeführten Posts zu füllen. Ich habe eine benutzerdefinierte Schleife zum Anzeigen der einzelnen Posts (Ziehen in benutzerdefinierten Feldern), sodass ich die Kontrolle darüber haben muss, was für jeden Post angezeigt wird.

Gibt es einen einfachen Weg, dies zu tun? Vielen Dank.

1
nurain

Probieren Sie diesen Code für die Seitenvorlage aus. Ich habe es in einem meiner Projekte verwendet. Es gibt einen Taxonomiebegriff nach dem anderen mit einer Liste aller Beiträge mit diesem Begriff aus. (Ersetzen Sie einfach YOUR_TAXONOMY_SLUG durch Ihren)

<div id="content">
<h2 class="entry-title"><?php the_title(); ?></h2>
    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    $mytaxonomy = get_terms('YOUR_TAXONOMY_SLUG', array("fields" => "names"));
    <?php for ( $myterm = 0; $myterm < count($mytaxonomy); $myterm++) { ?>
        <h3><?php echo $mytaxonomy[$myterm]; ?>:</h3>
        <ul class="taxonomy_group">
        <?php $loop = new WP_Query(array('YOUR_TAXONOMY_SLUG' => $mytaxonomy[$myterm]));
            while ( $loop->have_posts() ) : $loop->the_post(); ?>
                <li><a href="<?php the_permalink(); ?>"><?php the_title();?></a></li>
            <?php endwhile; ?>  
        </ul>
    <?php } ?>
    </div><!-- #post-## -->
</div><!-- #content -->
3
YoYurec

Beachten Sie, dass diese Schleife nur funktioniert, wenn die Kategorie ein einzelnes Wort ist. WP_Query benötigt die Kategorie SLUG in der Schleife. Wenn der Kategoriename aus zwei oder mehr Wörtern besteht, die durch ein nicht unterbrechendes Leerzeichen voneinander getrennt sind, funktioniert er nicht (das kann ich überprüfen, weil ich es gerade ausprobiert habe). Ich habe immer noch keinen Weg gefunden, den Slug aus dem angegebenen Taxonomiebegriff herauszuholen, aber ich arbeite daran.

ADDENDUM: Denken Sie, ich habe einen Weg gefunden, um das Problem mit dem Mehrwortnamen zu umgehen. Scheint in meinem Code zu funktionieren.

    <div id="content">
<h2 class="entry-title"><?php the_title(); ?></h2>
    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php $terms = get_terms('YOUR_TAXONOMY_SLUG');
    $count = count($terms); ?>
<?php if ($count > 0) {
    foreach ( $terms as $term) { ?>
        <h3><?php echo $term->name; ?></h3>    
        <ul class="taxonomy_group">
        <?php $loop = new WP_Query(array('YOUR_TAXONOMY_SLUG' => $term->slug));
            while ( $loop->have_posts() ) : $loop->the_post(); ?>
                <li><a href="<?php the_permalink(); ?>"><?php the_title();?></a></li>
            <?php endwhile; ?>  
        </ul>
    <?php }
    } ?>
    </div><!-- #post-## -->
</div><!-- #content -->

Lassen Sie mich wissen, ob dies für andere funktioniert oder ob sie irgendwelche Löcher darin sehen.

1
Robert Kopacz