it-swarm.com.de

So erstellen Sie eine Archivseite für Taxonomiebegriffe innerhalb eines benutzerdefinierten Beitragstyps

Ich muss eine Archivseite für benutzerdefinierte Taxonomiebegriffe erstellen, die sich in einem benutzerdefinierten Beitragstyp befinden. Es ist als CPT> Benutzerdefinierte Taxonomie> Taxonomiebegriffe eingerichtet.

Ich habe einen benutzerdefinierten Beitragstyp mit dem Namen "Projekte". Beim Erstellen des Beitrags muss der Benutzer einen Projekttyp für die Auflistung auswählen (z. B. Konstruktion, Wartung usw.). Ich muss jedoch Archivseiten für die einzelnen Begriffe erstellen. Ich habe stundenlang per Versuch und Irrtum danach gesucht und daran gearbeitet und immer wieder meinen Kopf gegen die Wand geschlagen.

2
anselscamera

Es gibt ein Beispiel im WP Codex , das für Sie funktionieren sollte:

Probieren Sie die folgende Namenskonvention für Ihre Taxonomiebegriffsarchivvorlage aus:

taxonomy-{taxonomy}-{term}.php

Angenommen, Sie haben einen CPT mit dem Namen "Projects", eine Taxonomie mit dem Namen "Maintenance" und einen Begriff innerhalb der Taxonomie mit dem Namen "Professional". Dann wäre Ihre Namenskonvention:

taxonomy-maintenance-professional.php
1
edwardr

Ich mache gerne ein anderes Beispiel für die (richtige) Antwort von tfrommen, weil es im Web nicht viel zu diesem Thema zu finden gibt.

  $post_type = get_post_type();

  if ( is_post_type_archive() ) {
    $taxonomies = get_object_taxonomies($post_type);
    $related_terms = get_terms(array(
      'taxonomy' => $taxonomies
    ));
  }

...

  if ( !empty($related_terms) && !is_wp_error($related_terms) ) {
    foreach ( $related_terms as $related_term ) {
      $term_url = get_term_link($related_term);

      if ( is_post_type_archive() ) {
        $term_url = add_query_arg( 'post_type', $post_type, $term_url );
      }
?>
  <a href="<?php echo esc_url($term_url); ?>"><?php echo $related_term->name; ?></a>
<?php    }
  }
0