Comment modifier les URL des cutom post type et custom taxonomy ? (Créer un compte)

  • Statut : non résolu
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #557211
    tony016
    Participant
    Initié WordPress
    27 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress :
    – Version de PHP/MySQL :
    – Thème utilisé :
    – Extensions en place :
    – Nom de l’hebergeur :
    – Adresse du site :

    Problème(s) rencontré(s) :

    Bonjour à tous,

    Voici le problème que je rencontre.

    J’ai crée des customs post type et des custom taxonomie.
    J’aimerai pouvoir modifier leurs URL lors que l’on consulte l’archive d’un custom post ou d’une taxonomie.

    Voici mon code :

    <?php

    // Register Custom Post Type
    function custom_post_type() {

    $labels = array(
    'name' => _x( ‘Ascenseurs’, ‘Post Type General Name’, ‘text_domain’ ),
    ‘singular_name’ => _x( ‘Ascenseur’, ‘Post Type Singular Name’, ‘text_domain’ ),
    ‘menu_name’ => __( ‘Ascenseur’, ‘text_domain’ ),
    ‘name_admin_bar’ => __( ‘Ascenseur’, ‘text_domain’ ),
    ‘parent_item_colon’ => __( ‘Element parent:’, ‘text_domain’ ),
    ‘all_items’ => __( ‘Tous les ascenseurs’, ‘text_domain’ ),
    ‘add_new_item’ => __( ‘Ajouter un ascenseur’, ‘text_domain’ ),
    ‘add_new’ => __( ‘Ajouter’, ‘text_domain’ ),
    ‘new_item’ => __( ‘Nouveau’, ‘text_domain’ ),
    ‘edit_item’ => __( ‘Editer’, ‘text_domain’ ),
    ‘update_item’ => __( ‘Mettre à jour’, ‘text_domain’ ),
    ‘view_item’ => __( ‘Voir’, ‘text_domain’ ),
    ‘search_items’ => __( ‘Rechercher’, ‘text_domain’ ),
    ‘not_found’ => __( ‘Non trouvé’, ‘text_domain’ ),
    ‘not_found_in_trash’ => __( ‘Non trouvé dans la corbeille’, ‘text_domain’ ),
    );
    $args = array(
    ‘label’ => __( ‘Ascenseur’, ‘text_domain’ ),
    ‘description’ => __( ‘Ascenseur’, ‘text_domain’ ),
    ‘labels’ => $labels,
    ‘supports’ => array( ‘title’, ‘editor’, ‘thumbnail’, ‘revisions’, ‘custom-fields’, ‘page-attributes’, ‘post-formats’, ),
    ‘taxonomies’ => array( ‘taxonomy_ascenseur’ ),
    ‘hierarchical’ => true,
    ‘public’ => true,
    ‘show_ui’ => true,
    ‘show_in_menu’ => true,
    ‘menu_position’ => 5,
    ‘show_in_admin_bar’ => true,
    ‘show_in_nav_menus’ => true,
    ‘can_export’ => true,
    ‘has_archive’ => true,
    ‘exclude_from_search’ => false,
    ‘publicly_queryable’ => true,
    ‘capability_type’ => ‘page’,
    ‘rewrite’ => array(‘slug’ => ‘ascenseur’),
    );
    register_post_type( ‘ascenseur’, $args );

    $labels2 = array(
    ‘name’ => _x( ‘Accessibilite’, ‘Post Type General Name’, ‘text_domain’ ),
    ‘singular_name’ => _x( ‘Accessibilite’, ‘Post Type Singular Name’, ‘text_domain’ ),
    ‘menu_name’ => __( ‘Accessibilite’, ‘text_domain’ ),
    ‘name_admin_bar’ => __( ‘Accessibilite’, ‘text_domain’ ),
    ‘parent_item_colon’ => __( ‘Element parent:’, ‘text_domain’ ),
    ‘all_items’ => __( ‘Tous les produits’, ‘text_domain’ ),
    ‘add_new_item’ => __( ‘Ajouter un produit’, ‘text_domain’ ),
    ‘add_new’ => __( ‘Ajouter’, ‘text_domain’ ),
    ‘new_item’ => __( ‘Nouveau’, ‘text_domain’ ),
    ‘edit_item’ => __( ‘Editer’, ‘text_domain’ ),
    ‘update_item’ => __( ‘Mettre à jour’, ‘text_domain’ ),
    ‘view_item’ => __( ‘Voir’, ‘text_domain’ ),
    ‘search_items’ => __( ‘Rechercher’, ‘text_domain’ ),
    ‘not_found’ => __( ‘Non trouvé’, ‘text_domain’ ),
    ‘not_found_in_trash’ => __( ‘Non trouvé dans la corbeille’, ‘text_domain’ ),
    );
    $args2 = array(
    ‘label’ => __( ‘Accessibilite’, ‘text_domain’ ),
    ‘description’ => __( ‘Accessibilite’, ‘text_domain’ ),
    ‘labels’ => $labels2,
    ‘supports’ => array( ‘title’, ‘editor’, ‘thumbnail’, ‘revisions’, ‘custom-fields’, ‘page-attributes’, ‘post-formats’, ),
    ‘taxonomies’ => array( ‘taxonomy_accessibilite’),
    ‘hierarchical’ => true,
    ‘public’ => true,
    ‘show_ui’ => true,
    ‘show_in_menu’ => true,
    ‘menu_position’ => 5,
    ‘show_in_admin_bar’ => true,
    ‘show_in_nav_menus’ => true,
    ‘can_export’ => true,
    ‘has_archive’ => true,
    ‘exclude_from_search’ => false,
    ‘publicly_queryable’ => true,
    ‘capability_type’ => ‘page’,
    ‘rewrite’ => array(‘slug’ => ‘accessibilite’),
    );
    register_post_type( ‘accessibilite’, $args2 );

    }
    add_action( ‘init’, ‘custom_post_type’, 0 );

    // Register Custom Taxonomy
    function custom_taxonomy() {

    $labels = array(
    ‘name’ => _x( ‘Catégories Ascenseur’, ‘Taxonomy General Name’, ‘text_domain’ ),
    ‘singular_name’ => _x( ‘Catégorie Ascenseur’, ‘Taxonomy Singular Name’, ‘text_domain’ ),
    ‘menu_name’ => __( ‘Catégorie Ascenseur’, ‘text_domain’ ),
    ‘all_items’ => __( ‘Tous les ascenseurs’, ‘text_domain’ ),
    ‘parent_item’ => __( ‘Element parent’, ‘text_domain’ ),
    ‘parent_item_colon’ => __( ‘Element parent:’, ‘text_domain’ ),
    ‘new_item_name’ => __( ‘Nouveau nom’, ‘text_domain’ ),
    ‘add_new_item’ => __( ‘Ajouter une catégorie’, ‘text_domain’ ),
    ‘edit_item’ => __( ‘Editer’, ‘text_domain’ ),
    ‘update_item’ => __( ‘Mettre à jour’, ‘text_domain’ ),
    ‘view_item’ => __( ‘Voir’, ‘text_domain’ ),
    ‘separate_items_with_commas’ => __( ‘Séparé par un -‘, ‘text_domain’ ),
    ‘add_or_remove_items’ => __( ‘Ajouter ou supprimer’, ‘text_domain’ ),
    ‘choose_from_most_used’ => __( ‘Choose from the most used’, ‘text_domain’ ),
    ‘popular_items’ => __( ‘Populaire’, ‘text_domain’ ),
    ‘search_items’ => __( ‘Rechercher’, ‘text_domain’ ),
    ‘not_found’ => __( ‘Non trouvé’, ‘text_domain’ ),
    ‘items_list’ => __( ‘Liste’, ‘text_domain’ ),
    ‘items_list_navigation’ => __( ‘Liste’, ‘text_domain’ ),
    );
    $args = array(
    ‘labels’ => $labels,
    ‘hierarchical’ => true,
    ‘public’ => true,
    ‘show_ui’ => true,
    ‘show_admin_column’ => true,
    ‘show_in_nav_menus’ => true,
    ‘show_tagcloud’ => true,
    );
    register_taxonomy( ‘taxonomy_ascenseur’, array( ‘ascenseur’ ), $args );


    $labels2 = array(
    ‘name’ => _x( ‘Catégories Accessibilité’, ‘Taxonomy General Name’, ‘text_domain’ ),
    ‘singular_name’ => _x( ‘Catégorie Accessibilité’, ‘Taxonomy Singular Name’, ‘text_domain’ ),
    ‘menu_name’ => __( ‘Catégorie Accessibilité’, ‘text_domain’ ),
    ‘all_items’ => __( ‘Tous les éléments’, ‘text_domain’ ),
    ‘parent_item’ => __( ‘Element parent’, ‘text_domain’ ),
    ‘parent_item_colon’ => __( ‘Element parent:’, ‘text_domain’ ),
    ‘new_item_name’ => __( ‘Nouveau nom’, ‘text_domain’ ),
    ‘add_new_item’ => __( ‘Ajouter une catégorie’, ‘text_domain’ ),
    ‘edit_item’ => __( ‘Editer’, ‘text_domain’ ),
    ‘update_item’ => __( ‘Mettre à jour’, ‘text_domain’ ),
    ‘view_item’ => __( ‘Voir’, ‘text_domain’ ),
    ‘separate_items_with_commas’ => __( ‘Séparé par un -‘, ‘text_domain’ ),
    ‘add_or_remove_items’ => __( ‘Ajouter ou supprimer’, ‘text_domain’ ),
    ‘choose_from_most_used’ => __( ‘Choose from the most used’, ‘text_domain’ ),
    ‘popular_items’ => __( ‘Populaire’, ‘text_domain’ ),
    ‘search_items’ => __( ‘Rechercher’, ‘text_domain’ ),
    ‘not_found’ => __( ‘Non trouvé’, ‘text_domain’ ),
    ‘items_list’ => __( ‘Liste’, ‘text_domain’ ),
    ‘items_list_navigation’ => __( ‘Liste’, ‘text_domain’ ),
    );
    $args2 = array(
    ‘labels’ => $labels2,
    ‘hierarchical’ => true,
    ‘public’ => true,
    ‘show_ui’ => true,
    ‘show_admin_column’ => true,
    ‘show_in_nav_menus’ => true,
    ‘show_tagcloud’ => true,
    );
    register_taxonomy( ‘taxonomy_accessibilite’, array( ‘accessibilite’ ), $args2 );

    }
    add_action( ‘init’, ‘custom_taxonomy’, 0 );

    Lorsque je veux afficher mon archive de custom type « Ascenseur » j’ai bien une url comme cela : http://monsite/ascenseur/
    Quand je veux aller dans un type d’ascenseur j’ai par contre une url : http://monsite/taxonomy_ascenseur/cat1/

    J’aimerai que cette derniere url ne soit pas comme ceci mais du style http://monsite/ascenseur/cat1/

    Un petit coup de main sera bienvenue merci 🙂

    #1031517
    sylvainbr
    Membre
    Chevalier WordPress
    239 contributions

    Bonsoir,

    C’est vous qui l’avez définit dans votre code pour définir le nom de votre taxonomy dans ces deux lignes :

    ‘taxonomies’          => array( ‘taxonomy_ascenseur’ )

    register_taxonomy( ‘taxonomy_ascenseur’, array( ‘ascenseur’ ), $args );

    Donc si vous changez dans votre code « taxonomy_ascenseur » par « ascenseur » cela devrai mettre l’url de votre taxonomie comme vous le voulez.

    #1031518
    tony016
    Participant
    Initié WordPress
    27 contributions

    Oui exact mais si je modifie le nom alors je ne retrouve plus les posts

    #1031519
    sylvainbr
    Membre
    Chevalier WordPress
    239 contributions

    Bonjour,

    Peux être qu’il faut mettre à jour aussi le code qui vous permet d’afficher les posts?

    #1031520
    tony016
    Participant
    Initié WordPress
    27 contributions

    Oui c’est bien sur ce que j’avais fait.
    Je vais faire de nouveau un test.

    Dans mon cas puis je renommer mes taxonomy « Type » ? Cela ne vas pas faire de conflit (sachant que chaque taxonomie est lié à un CPT) ?

5 sujets de 1 à 5 (sur un total de 5)
  • Vous devez être connecté pour répondre à ce sujet.