web-dev-qa-db-fra.com

Comment créer une page d'archive pour les termes de taxonomie dans le type de publication personnalisé

J'ai besoin de créer une taxonomie personnalisée dans une page d'archivage à l'intérieur d'un type d'article personnalisé. Il est configuré en tant que CPT> Taxonomie personnalisée> Termes de taxonomie.

J'ai un type de message personnalisé appelé "Projets" et lors de la création du message, l'utilisateur doit sélectionner un type de projet pour la liste (par exemple, Construction, Maintenance, etc.). Mais, je dois créer des pages d'archives pour les termes individuels. Je cherche et travaille par essais et erreurs depuis des heures et n'arrête pas de me cogner la tête contre le mur.

2
anselscamera

Il y a un exemple dans le WP Codex qui devrait fonctionner pour vous:

Essayez la convention de dénomination suivante pour votre modèle d'archive de terme de taxonomie:

taxonomy-{taxonomy}-{term}.php

Supposons donc que vous avez un CPT nommé "Projets", une taxonomie nommée "Maintenance" et un terme de la taxonomie nommé "Professionnel". Alors votre convention de nommage serait:

taxonomy-maintenance-professional.php
1
edwardr

J'aime faire un exemple différent pour la réponse (correcte) de tfrommen, car il n'y a pas beaucoup à trouver sur ce sujet sur le Web.

  $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
Thomas Fellinger