Question

Je montre les catégories avec ces codes. Normalement, il n'y a pas de problème.

<?php
$categories = wp_list_categories('current_category=1&hide_empty=0&title_li=&echo=0&link_before=<span>&link_after=</span>');
$categories = preg_replace('/title=\"(.*?)\"/','',$categories);
echo $categories;
?>

Mais je veux envelopper le texte de la catégorie actuelle dans <span> balise pour afficher l'image de la catégorie actuelle.

En bref: <a href="#">Home</a> à <a href="#"><span>Home</span></a>.

Comment puis-je le faire avec PHP?

Merci.

Était-ce utile?

La solution

Remplacez votre deuxième ligne de code par ceci:

$categories = preg_replace(
    array('/title=\"(.*?)\"/','/(<a.*?>)(.*?)(<\/a>)/'),
    array('','$1<span>$2</span>$3'),
    $categories);

Et il continuera à supprimer les balises title et à ajouter le <span></span> dans chacune des balises <a>.

Autres conseils

Cela fonctionne-t-il?:

<?php $categories = get_categories(); foreach ($categories as $cat) {echo '<a href="'.get_option('home').'/'.get_option('category_base').'/'.$cat->category_nicename.'/"><span>'.$cat->cat_name.'</span></a>'; } ?>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top