web-dev-qa-db-fra.com

Créer une page d'archive pour les taxonomies personnalisées

J'ai changé mon site de catégories en taxonomies pour mon message personnalisé, mais je ne parviens pas à le faire fonctionner de la même manière. Pour les catégories, je pourrais avoir des modèles nommés quelque chose comme category-travel.php et ensuite avoir ma boucle dans ce fichier. J'essaie maintenant de remplacer la liste de catégories par quelque chose comme ceci:

<?php  
$taxonomy = 'Gallery';
$orderby = 'name';
$show_count = 0;
$pad_counts = 0;
$hierarchical = 1;
$title = '';

$args = array (
    'taxonomy' => $taxonomy,
    'orderby' => $orderby,
    'show_count' => $show_count,
    'pad_counts' => $pad_counts,
    'hierarchical' => $hierarchical,
    'title_li' => $title
    );

wp_list_categories($args) ?>

et dans les fonctions

register_taxonomy( 'Gallery', array( 'photo' ), array( 'hierarchical' => true, 'label' => 'Galleries', 'singular_label' => 'Gallery', 'rewrite' => true ) );

Maintenant, lorsque je fais un lien depuis cette liste générée, quelque chose comme mysite.com/gallery/name, il appelle plutôt le archive.php plutôt que le fichier taxonomy-gallery.php que j'ai créé. Qu'est-ce que je fais mal?

Désolé si c'est un doublon mais je pense que cette question est pour quelque chose de différent et je ne peux pas croire que vous auriez à faire un bidouillage pour cela.

3
zac

Il semble que votre problème est que le nom de votre taxonomie a une lettre majuscule, le premier argument de register_taxonomy doit être tout en minuscule, sans espace comme le décrit la documentation de la fonction register_taxonomy ici .

Modifiez votre code comme suit et votre modèle taxonomy-gallery.php fonctionnera correctement.

register_taxonomy( 'gallery', array( 'photo' ), array( 'hierarchical' => true, 'label' => 'Galleries', 'singular_label' => 'Gallery', 'rewrite' => true ) );

Dans le premier bit de code que vous avez posté, vous voudrez également changer la référence à la taxonomie de la galerie pour qu'elle soit également en minuscule. Les étiquettes conviennent à tous les cas, mais pas aux noms réels des taxonomies.

4