web-dev-qa-db-fra.com

Pourquoi mon modèle de taxonomie n'est-il pas affiché?

J'ai créé une taxonomie personnalisée pour mon site appelée projects avec un modèle correspondant appelé taxonomy-projects.php. Le problème est que lorsque je navigue vers http://mysite.com/projects, le modèle n'est pas déclenché, mais index.php l'est, mais lorsque je navigue vers http://mysite.com/projects/someterm, le modèle s'affiche correctement.

Comment mon modèle peut-il être affiché lorsque je navigue vers http://mysite.com/projects?

Avant de demander. Oui, je suis conscient que je dois effacer les règles de réécriture avant que des modifications ne soient apportées. Je le fais en enregistrant les paramètres de lien permanent dans l’administrateur.

Voici comment j'ai créé ma taxonomie personnalisée:

$args = array(
    'labels' => array(
        'name' => "Categories",
        'singular_name' => "Category",
        'search_items' => "Search Categories",
        'popular_items' => "Popular Categories",
        'all_items' => "All Categories",
        'parent_item' => "Parent Category",
        'parent_item_colon' => "Parent Category:",
        'edit_item' => "Edit Category",
        'update_item' => "Update Category",
        'add_new_item' => "Add New Category",
        'new_item_name' => "New Category Name",
    ),
    'hierarchical' => TRUE,
    'label' => 'Categories',
    'query_var' => TRUE,
    'rewrite' => array(
            'slug' => 'projects'
    ),
);

register_taxonomy('projects', 'project', $args);

UPDATE:

J'ai tracé la sortie de $wp_query->get_queried_object() sur chaque page et lorsque je navigue vers une page comportant un terme, tel que http://mysite.com/projects/commercial, j'obtiens la sortie suivante:

stdClass Object
(
    [term_id] => 4
    [name] => Commercial
    [slug] => commercial
    [term_group] => 0
    [term_taxonomy_id] => 8
    [taxonomy] => projects
    [description] => 
    [parent] => 0
    [count] => 1
)

Cependant, lorsque je navigue sur http://mysite.com/projects, la sortie n’est rien.

Je ne comprends pas ce que je fais mal. Comment puis-je afficher le taxonomy-projects.php lorsque je navigue vers http://mysite.com/projects?

1
Luke

Avez-vous essayé avec la base permalink dans l'URL? La valeur par défaut est "catégorie". http://mysite.com/category/projects Le codex WP est cité ci-dessous.

'with_front' - permet de préfixer les permaliens avec la base avant - par défaut à true

Vous devez définir "with_front" sur false pour que http://mysite.com/projects fonctionne.

De même, lorsque vous avez uniquement des "projets" dans votre URL, il est difficile pour WP de savoir s'il s'agit d'un article, d'une page, d'un type d'article personnalisé, d'une taxonomie, etc.

1
danielwiener

Avez-vous vidé les règles de réécriture? Ajoutez ceci après votre code de taxonomie personnalisé:

    flush_rewrite_rules();

Vous ne devez exécuter cette opération qu'une seule fois lorsque vous effectuez un changement. Commentez-le après que cela fonctionne.

0
Scott Elkin