web-dev-qa-db-fra.com

Un slug de page dynamique pour les taxonomies personnalisées?

J'ai une page personnalisée "fine-art", qui répertorie les différents types de beaux-arts que nous produisons en fonction de la taxonomie personnalisée "fine_art_category". Certaines des taxonomies personnalisées sont le bois, le métal, les éditions Fine Art/Album, les éditions Fine Art/le métal.

La taxonomie Fine Art Editions ne contient rien, elle ne contient que des sous-catégories Album et Metal.

Est-il possible de créer un slug pour chacune des taxonomies personnalisées, par exemple http://www.com/fine-art/wood et http://www.com/fine-art/metal . Et dans chaque page répertorie tous les messages avec la taxonomie personnalisée du bois. Ou dois-je créer une page personnalisée pour chaque catégorie pour que cela se produise?

Ceci est ma page personnalisée pour les beaux-arts, qui répertorie uniquement les cinq derniers articles de chaque taxonomie personnalisée.

<?php
/*
Template Name: Beta Fine Art
*/

$terms = get_terms("fine_art_category");
$count = count($terms);
if ( $count > 0 ){
foreach ( $terms as $term ) {
echo "<h3>" . $term->name . "</h3>"; 


$args = array(
    'post_type' => 'fine-art',
    'posts_per_page' => 5,
    'tax_query' => array(
        array(
            'taxonomy' => 'fine_art_category',
            'field' => 'slug',
            'terms' => $term->slug
        )
    )
);

$wp_fineart_query = new WP_Query( $args );

while( $wp_fineart_query->have_posts() ) : $wp_fineart_query->the_post(); ?>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php
endwhile;
}
}
?>
3
weston deboer

WordPress fait déjà tout cela par défaut. Il n'y a aucune raison pour que vous ayez besoin de modifier le travail des slugs, il vous suffit de configurer votre taxonomie personnalisée pour que le slug de réécriture "fine art".

Je pense que vous pouvez ensuite simplement créer votre page avec cette même limace "fine art". Je crois qu'il devrait toujours trouver cette page indépendamment du nom de taxonomie ayant le même slug. Ensuite, tout ce que vous devez faire dans votre modèle est ce que vous semblez déjà faire, à savoir générer les liens pour les termes que vous souhaitez afficher.

Si cela ne fonctionne toujours pas, il peut être utile d'inclure votre déclaration de taxonomie personnalisée.

1
eddiemoya