[Résolu] Breadcrumbs et Custom Post Type

  • WordPress :4.9.4
  • Statut : résolu
2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Messages
  • #2150386
    mumu51
    Participant
    Initié WordPress
    29 contributions

    Bonsoir,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7
    • Thème utilisé : Je le créé moi-même
    • Extensions en place : Akismet Anti-Spam et Master Slider
    • Nom de l’hébergeur : Travail en local

    Si vous voulez, dans le thème WordPress que je suis en train de concevoir, je souhaiterais laisser à mon client, la possibilité depuis l’administration à créer des réalisations.
    Je m’explique : mon client est traiteur et souhaiterait mettre à disposition des internautes, les réalisations qu’il a déjà produit pour de nombreux événements.
    Du coup, plutôt que d’utiliser les articles WordPress pour y parvenir, je souhaitais créer du contenu différent.
    Je suis donc parti sur la création d’un custom post types, qui répond à mes attentes pour le moment, il ne me reste plus qu’à modifier celui-ci.

    Voici le code utilisé pour le moment :

    function wpm_custom_post_type() {
    	$labels = array(
    		'name'                => _x( 'Réalisations', 'Post Type General Name'),
    		'singular_name'       => _x( 'Réalisation', 'Post Type Singular Name'),
    		'menu_name'           => __( 'Réalisations'),
    		'all_items'           => __( 'Toutes les réalisations'),
    		'view_item'           => __( 'Voir les les réalisations'),
    		'add_new_item'        => __( 'Ajouter une réalisation'),
    		'add_new'             => __( 'Ajouter'),
    		'edit_item'           => __( 'Editer'),
    		'update_item'         => __( 'Modifier'),
    		'search_items'        => __( 'Rechercher une réalisation'),
    		'not_found'           => __( 'Non trouvée'),
    		'not_found_in_trash'  => __( 'Non trouvée dans la corbeille'),
    	);
    	$args = array(
    		'label'               => __( 'Réalisations'),
    		'description'         => __( 'Toutes les réalisations de Sylvie, la boîte à délices'),
    		'menu_icon'           => 'dashicons-book-alt',
    		'labels'              => $labels,
    		'supports'            => array('title', 'excerpt', 'editor', 'thumbnail'),
    		'hierarchical'        => false,
    		'public'              => true,
    		'has_archive'         => true,
    		'rewrite'			  => array( 'slug' => 'realisations'),
    	);
    	register_post_type( 'realisations', $args );
    }
    add_action( 'init', 'wpm_custom_post_type', 0 );
    
    function wpm_add_taxonomies() {
    	$labels_cat_event = array(
    		'name'                       => _x( 'Catégories d\'événements', 'taxonomy general name'),
    		'singular_name'              => _x( 'Catégorie d\'événement', 'taxonomy singular name'),
    		'search_items'               => __( 'Rechercher un événement'),
    		'popular_items'              => __( 'Événements fréquents'),
    		'all_items'                  => __( 'Touts les événements'),
    		'edit_item'                  => __( 'Editer une catégorie'),
    		'update_item'                => __( 'Mettre à jour une catégorie'),
    		'add_new_item'               => __( 'Ajouter une nouvelle catégorie'),
    		'new_item_name'              => __( 'Nom de la nouvelle catégorie'),
    		'add_or_remove_items'        => __( 'Ajouter ou supprimer une catégorie'),
    		'choose_from_most_used'      => __( 'Choisir parmi les événements les plus fréquents'),
    		'not_found'                  => __( 'Pas de catégories trouvées'),
    		'menu_name'                  => __( 'Catégories d\'événements'),
    	);
    
    	$args_cat_event = array(
    		'hierarchical'          => true,
    		'labels'                => $labels_cat_event,
    		'show_ui'               => true,
    		'show_admin_column'     => true,
    		'query_var'             => true,
    		'rewrite'               => array( 'slug' => 'categories-evenements' ),
    	);
    	register_taxonomy( 'categoriesevenements', 'realisations', $args_cat_event );
    }
    add_action( 'init', 'wpm_add_taxonomies', 0 );

     

    Mon problème, c’est que je met en place un breadcrumb – créé à partir d’un tutoriel.
    Lorsque je créée une réalisation et que je l’affiche sur le site mon breadcrumb est le suivant : ACCUEIL > Nom de la réalisation.
    Hors, je souhaiterais le faire passer par une page listant toutes les réalisations (ce qui serait un ordre logique…), mais je ne parviens pas à faire afficher « Réalisations » dans mon breadcrumb….

    J’avais créé single-realisations.php et archive-realisations.php, je sais d’ailleurs que « -realisations » à son importance, mais même sur archive-realisations.php, mon breadcrumb était ACCUEIL > Nom de la réalisation au lieu de ACCUEIL > REALISATIONS.

    Ci-après, le code qui génére le breadcrumb :

    <?php
    			$home= home_url('/');
    			if (is_page() && !is_front_page() || is_single() || is_category() || is_archive()) {
    			echo '<a href="'.$home.'">ACCUEIL</a>';
    				if (is_page()) {
    					$ancestors = get_post_ancestors($post);
    					if ($ancestors) {
    						$ancestors = array_reverse($ancestors);
    
    						foreach ($ancestors as $crumb) {
    						echo '<a href="'.get_permalink($crumb).'" class="breadcrumb">'.get_the_title($crumb).'</a>';
    						}
    					}
    				}
    				if (is_single()) {
    					$category = get_the_category();
    					echo '<a href="'.get_category_link($category[0]->cat_ID).'" class="breadcrumb">'.$category[0]->cat_name.'</a>';
    				}
    				if (is_category()) {
    					$category = get_the_category();
    					echo '<a href="#" class="breadcrumb">'.$category[0]->cat_name.'</a>';
    				}
    				if (is_page() || is_single()) {
    					echo '<a href="#" class="breadcrumb">'.get_the_title().'</a>';
    				}
    				// if (is_archive('archive-realisations.php') || is_single('single-realisations.php')){
    					// echo '<a href="#" class="breadcrumb">'.get_the_title().'</a>';
    				// }
    			} elseif (is_front_page()) {
    				echo '<a href="'.$home.'">ACCUEIL</a>';
    			}
    			?>

     

    Il y’a certainement quelque chose que je n’ai pas du bien cerné avec ce sujet.

    J’espère avoir été claire, et vous remercie d’avance pour l’aide que vous voudrez bien m’apporter.

    Mumu

    • Ce sujet a été modifié le il y a 2 months et 1 week par  mumu51.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2150845
    Flobogo
    Modérateur
    Maître WordPress
    14639 contributions

    Bonjour,

    Tant mieux si vous avez résolu le problème. Ce serait sympa de partager la solution.

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