web-dev-qa-db-fra.com

Le slug "type" est-il réservé et ne peut pas être utilisé en réécriture de taxonomie?

J'ai désespérément besoin de votre aide les gars. J'essaie d'enregistrer le type de message personnalisé et la taxonomie de la manière suivante:

add_action( 'init', 'product_catalog' );
add_action( 'init', 'product_type', 0 );

function product_catalog() {
    $labels = array(
        'name'               => _x( 'Catalog', 'post type general name' ),       
        'menu_name'          => 'Catalog'
    );
    $args = array(
        'labels'        => $labels,
        'description'   => 'Catalog',
        'public'        => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,       
        'capability_type' => 'post',
        'hierarchical' => false,       
        'menu_position' => 5,
        'supports'      => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
        'has_archive'   => true,
        "rewrite" => array(       
            'with_front' => false,                       
            'slug' => 'catalog'           
        )
    );
    register_post_type( 'product_catalog', $args );

}


//taxonomy that wont work with first parent, all childs work just fine.

function product_type(){

    register_taxonomy("product_type", array("product_catalog"), array(
    "hierarchical" => true,
    "label" => "Types",
    "singular_label" => "Type",
    "show_ui" => true,       
    'show_admin_column' => true,
    'query_var' => true,
    "rewrite" => array(       
        'slug' => 'type',           
        'with_front' => false,
        "hierarchical" => true
        )
    ));   


}

Cela semble apparaître dans le panneau et je peux ajouter des taxonomies hiérarchiques sous le TYPE, mais le problème vient du fait que j'essaie d'aller à l'URL comme: sitename.com/type/parent toujours retourne 404 non trouvé. En même temps, je peux aller aux enfants de TYPE et cela se charge très bien, par exemple: sitename.com/type/parent/child

Si je change le 'slug' => 'type ' en quelque chose comme: 'types' , alors cela fonctionne à 100%.

Je ne comprends pas pourquoi cela se produit, est-ce réservé à quelque chose?

J'apprécierais votre aide.

Je vous remercie.

2
Alex

Cela ne fonctionne pas car "type" est réservé aux formats de publication ( ), p.ex. http://example.com/type/video.

4
Rachel Carden

Je ne peux pas comprendre ce que je veux dire sans pouvoir utiliser le code moi-même, mais j'ai eu des problèmes comme celui-ci. D'après mon expérience, il y a eu un conflit entre une taxonomie/un titre de page/une taxonomie/un terme qui cause des problèmes de réécriture/404, etc. Vous pouvez vider vos permaliens et revoir les pages, mais ce que vous avez dit à propos du "Type" et des "types" rend Je pense que c'est un conflit.

0
Dan