[AUTOMATIQUE] Cet article a plus de 5 ans.
Il se peut donc que les informations qu'il fournit ne soient plus totalement exactes.
Il se peut donc que les informations qu'il fournit ne soient plus totalement exactes.
J’ai cherché il y a quelques temps comment faire un fil d’Ariane (Breadcrumb) simple et surtout personnalisable selon mes Custom Post Types, taxonomies, etc.
Je voulais une solution sans plugin pour bien la mettre « à ma sauce ». J’ai fini par trouver quelque chose qui me plaisait, mais qui avait quelques incohérences…
Voici ce que ça donne après modifications.
function bweb_breadcrumb(){ wp_reset_query(); echo '<ul class="breadcrumbs">'; if (is_tag()) {echo"<li>Tag : ";single_tag_title();} elseif (is_day()) {echo"<li>Archive de "; the_time('F jS, Y'); echo'</li>';} elseif (is_month()) {echo"<li>Archive de "; the_time('F, Y'); echo'</li>';} elseif (is_year()) {echo"<li>Archive de "; the_time('Y'); echo'</li>';} elseif (is_author()) {echo"<li>Archive"; echo'</li>';} elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "<li>Archives du Blog "; echo'</li>';} elseif (is_search()) {echo"<li>Résultat de recherche"; echo'</li>';} elseif (!is_home() && !is_front_page() ) { echo '<li><a href="'; echo get_option('home'); echo '">'; echo 'Accueil'; echo '</a></li><li class="separator"> / </li>'; if (is_category() || is_single()) { echo '<li>'; the_category(' </li><li class="separator"> / </li><li> '); if (is_single()) { echo '</li><li class="separator"> / </li><li>'; the_title(); echo '</li>'; } } elseif (is_page()) { if($post->post_parent){ $anc = get_post_ancestors( $post->ID ); foreach ( $anc as $ancestor ) { $output = '<li><a href="'.get_permalink($ancestor).'" title="'.get_the_title($ancestor).'">'.get_the_title($ancestor).'</a></li> <li class="separator">/</li>'; } echo $output; echo $title; } else { echo the_title(); } } } echo '</ul>'; }
L’utilisation est super simple, il suffit de coller la fonction ci-dessus dans votre fichier functions.php ainsi que d’appeler cette fonction en collant bweb_breadcrumb() dans votre thème. Selon la structure de votre thème, et pour éviter d’éditer 50 fichiers, je vous conseilles d’appeler ce snippet dans header.php sous votre barre de navigation.