Bonjour,
Sur un projet je viens de créer une custom taxo pour les pages, afin que les catégories des pages et des articles soit pas mélangées.

Dans l'entreprise où je suis, Rank Math est utilisé pour la partie SEO. Ce plugin comprends un génération de Breadcrumb et j'ai remarqué que quand je vais sur une page qui est rattachée à une custom taxo, celle ci ne s'affiche pas dans le breadcrumb. J'ai testé quelques plugins et uniquement Yoast SEO me permet l'affichage de la custom taxo.
Cependant hors de question pour mon entreprise d'utilise un autre plugin que Rank Maths pour la partie SEO.

Comment faire en sorte que les custom taxo soit prises en compte dans le breadcrump ? (et dans l'URL également).

Voici ma custom taxo :

<?php

/**
 * Registers the `cat_page` taxonomy,
 * for use with 'page'.
 */
function cat_page_init() {
    register_taxonomy( 'cat-page', array( 'page' ), array(
        'hierarchical'      => true,
        'public'            => true,
        'show_in_nav_menus' => true,
        'show_ui'           => true,
        'show_admin_column' => false,
        'query_var'         => true,
        'rewrite'           => true,
        'capabilities'      => array(
            'manage_terms'  => 'edit_posts',
            'edit_terms'    => 'edit_posts',
            'delete_terms'  => 'edit_posts',
            'assign_terms'  => 'edit_posts',
        ),
        'labels'            => array(
            'name'                       => __( 'Catégories', 'YOUR-TEXTDOMAIN' ),
            'singular_name'              => _x( 'Catégorie', 'taxonomy general name', 'YOUR-TEXTDOMAIN' ),
            'search_items'               => __( 'Rechercher des catégories', 'YOUR-TEXTDOMAIN' ),
            'popular_items'              => __( 'Catégories populaires', 'YOUR-TEXTDOMAIN' ),
            'all_items'                  => __( 'Toutes les catégories', 'YOUR-TEXTDOMAIN' ),
            'parent_item'                => __( 'Catégorie de la page parente', 'YOUR-TEXTDOMAIN' ),
            'parent_item_colon'          => __( 'Catégorie de la page parente:', 'YOUR-TEXTDOMAIN' ),
            'edit_item'                  => __( 'Edit Cat page', 'YOUR-TEXTDOMAIN' ),
            'update_item'                => __( 'Update Cat page', 'YOUR-TEXTDOMAIN' ),
            'view_item'                  => __( 'View Cat page', 'YOUR-TEXTDOMAIN' ),
            'add_new_item'               => __( 'Ajouter une nouvelle catégorie', 'YOUR-TEXTDOMAIN' ),
            'new_item_name'              => __( 'New Cat page', 'YOUR-TEXTDOMAIN' ),
            'separate_items_with_commas' => __( 'Separate cat pages with commas', 'YOUR-TEXTDOMAIN' ),
            'add_or_remove_items'        => __( 'Add or remove cat pages', 'YOUR-TEXTDOMAIN' ),
            'choose_from_most_used'      => __( 'Choose from the most used cat pages', 'YOUR-TEXTDOMAIN' ),
            'not_found'                  => __( 'No cat pages found.', 'YOUR-TEXTDOMAIN' ),
            'no_terms'                   => __( 'No cat pages', 'YOUR-TEXTDOMAIN' ),
            'menu_name'                  => __( 'Catégories', 'YOUR-TEXTDOMAIN' ),
            'items_list_navigation'      => __( 'Cat pages list navigation', 'YOUR-TEXTDOMAIN' ),
            'items_list'                 => __( 'Cat pages list', 'YOUR-TEXTDOMAIN' ),
            'most_used'                  => _x( 'Most Used', 'cat-page', 'YOUR-TEXTDOMAIN' ),
            'back_to_items'              => __( '&larr; Back to Cat pages', 'YOUR-TEXTDOMAIN' ),
        ),
        'show_in_rest'      => true,
        'rest_base'         => 'cat-page',
        'rest_controller_class' => 'WP_REST_Terms_Controller',
    ) );

}
add_action( 'init', 'cat_page_init' );

/**
 * Sets the post updated messages for the `cat_page` taxonomy.
 *
 * @param  array $messages Post updated messages.
 * @return array Messages for the `cat_page` taxonomy.
 */
function cat_page_updated_messages( $messages ) {

    $messages['cat-page'] = array(
        0 => '', // Unused. Messages start at index 1.
        1 => __( 'Cat page added.', 'YOUR-TEXTDOMAIN' ),
        2 => __( 'Cat page deleted.', 'YOUR-TEXTDOMAIN' ),
        3 => __( 'Cat page updated.', 'YOUR-TEXTDOMAIN' ),
        4 => __( 'Cat page not added.', 'YOUR-TEXTDOMAIN' ),
        5 => __( 'Cat page not updated.', 'YOUR-TEXTDOMAIN' ),
        6 => __( 'Cat pages deleted.', 'YOUR-TEXTDOMAIN' ),
    );

    return $messages;
}
add_filter( 'term_updated_messages', 'cat_page_updated_messages' );

Aucune réponse