WordPress : Faites écho à tous les noms de catégorie, sauf un
J’ai ce code simple, qui crée des fils d’Ariane :
function the_breadcrumb() {
if (!is_home()) {
echo '<a href="';
echo get_option('home');
echo '">';
echo 'home';
echo " / ";
if (is_category() || is_single()) {
the_category(' / ');
if (is_single()) {
echo " / " . '<a href="#">' . get_the_title() . '</a>';
}
} elseif (is_page()) {
echo " / " . '<a href="#">' . get_the_title() . '</a>';
}
}
}
Et cela résonne :
<p class="bread-crumbs">
<a href="http://fashion-detail.dev">home / </a>
<a href="http://fashion-detail.dev/?cat=4" title="View all posts in Fashion" rel="category">Fashion</a> /
<a href="http://fashion-detail.dev/?cat=16" title="View all posts in Top" rel="category">Top</a> /
<a href="#">This is in the fashion category.</a>
</p>
Cependant, il ne veut pas qu’il affiche la a href
balise qui renvoie à la top
catégorie. Existe-t-il un moyen d’inclure un str_replace ou simplement d’empêcher the_category d’appeler top
(j’ai toujours besoin du message, je ne veux tout simplement pas créer de lien top
dans le fil d’Ariane) ?
Solution n°1 trouvée
the_category
echo
le contenu. Vous ne pourrez pas utiliser la manipulation de chaînes. Aucune chaîne n’est return
éditée que vous pourriez manipuler. Ils sont juste echo
ed immédiatement.
Vous pouvez complètement filtrer une catégorie particulière, ce qui semble être une option, avec ceci :
function cat_filter_wpse_137596($categories) {
foreach ($categories as $k => $c) {
if ('uncategorized' === $c->slug) {
unset($categories[$k]);
}
}
return $categories;
}
Vous l’utiliseriez comme :
add_filter('get_the_categories','cat_filter_wpse_137596');
if (is_category() || is_single()) {
the_category(' / ');
if (is_single()) {
echo " / " . '<a href="#">' . get_the_title() . '</a>';
}
} elseif (is_page()) {
echo " / " . '<a href="#">' . get_the_title() . '</a>';
}
remove_filter('get_the_categories','cat_filter_wpse_137596');
Il n’y a pas de moyen facile de conserver la catégorie et de supprimer le lien. Vous auriez besoin d’une mauvaise expression régulière sur le the_category
filtre.
0 commentaire