web-dev-qa-db-fra.com

Configuration de pages de modèle de terme de taxonomie

Je me demande si la configuration suivante peut être plus efficace sans créer une page de terme de taxonomie pour chaque terme de taxonomie personnalisé.

Je travaille avec des cours (CPT) qui ont leur propre taxonomie (type de cours).

À l'heure actuelle, j'ai un modèle d'archive qui répertorie tous les CPT en fonction de leur taxonomie. J'ai également plusieurs modèles de termes de taxonomie pour chaque terme de taxonomie, tels que:

  • taxonomy-course-type-english.php
  • taxonomy-course-type-french.php
  • taxonomy-course-type-spanish.php

Ces fichiers modèles utilisent une boucle wp_query pour afficher chaque publication dans le terme de taxonomie donné. Par exemple:

<?php $args = array(
     'posts_per_page' => -1,
     'post_type' => 'courses',
     'orderby' => 'date',
     'tax_query' => array(
                      array(
                 'taxonomy' => 'course-type',
                 'field'    => 'slug',
                'terms'    => 'french',
                ),
            ),
         );

Le fichier modèle taxonomy-course-type.php répertorie toutes les publications de la taxonomie lors de l'utilisation de la boucle par défaut.

N'y a-t-il pas moyen d'utiliser le fichier modèle taxonomy-course-type.php au lieu des pages de termes de taxonomie pour lesquelles vous devez créer un nouveau fichier modèle pour chaque terme de taxonomie ajouté?

2
NielsPilon

Ajout de ce hook d’action à mon fichier functions.php:

add_action( 'pre_get_posts', function ( $q )
{
if (    !is_admin() // Only target the front end queries
     && $q->is_main_query() // Targets the main query only
     && $q->is_tax('course-type') // Only target category pages
) {
    $q->set( 'posts_per_page', -1 );
      }
});

Puis utilisez la boucle par défaut du fichier de modèle taxonomy-course-type.php. Fonctionne vraiment bien sans le besoin de fichiers de modèle de taxonomie encore plus spécifiques.

1
NielsPilon