Pergunta

Estou mostrando categorias com esses códigos. Normalmente não há problema.

<?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;
?>

Mas eu quero envolver o texto da categoria atual em <span> Tag para mostrar a imagem da categoria atual.

Resumidamente:<a href="#">Home</a> para <a href="#"><span>Home</span></a>.

Como posso fazer isso com PHP?

Obrigado.

Foi útil?

Solução

Substitua sua segunda linha de código por este:

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

E continuará a remover o title tags, além de adicionar o <span></span> dentro de cada um dos <a> Tag.

Outras dicas

Isto funciona?:

<?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>'; } ?>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top