¿Cómo hago para que the_tags() emita cada etiqueta para que se le asigne un selector de clase único? Entonces, por ejemplo: the_tags() actualmente genera algo como esto:
<a href="http://myblog.com/tag/kittens" rel="tag">kittens</a>
Sin embargo, me gustaría generar algo como esto:
<a href="http://myblog.com/tag/kittens" rel="tag" class="tag-kittens">kittens</a>
¿Es posible hacer esto? ¿Si es así, cómo? ¡Gracias!
marc p
¡Funcionó, gracias! Esto es lo que hice:
<?php
$post_tags = get_the_tags();
if ($post_tags) {
foreach($post_tags as $tag) {
echo '<a href="'; echo bloginfo();
echo '/?tag=' . $tag->slug . '" class="' . $tag->slug . '">' . $tag->name . '</a>';
}
}
?>
-
Puede marcar mi respuesta como aceptada o la suya para que otras personas se beneficien al buscar este mismo problema. Puede leer cómo funciona SO en Preguntas frecuentes. stackoverflow.com/faq
– GmonC
24 de julio de 2010 a las 2:22
-
¿Podrías publicar todo el código que resuelve este problema?
– Р. r.
10 de febrero a las 21:25
También puede sobrecargar el trabajo de get_the_tags();
función. Simplemente agregue el siguiente código a su functions.php
archivo de tema:
// add custom class to tag
function add_class_the_tags($html){
$postid = get_the_ID();
$html = str_replace('<a','<a class="class-name"',$html);
return $html;
}
add_filter('the_tags','add_class_the_tags');
-
Agradable. me gusta la solucion
– algo ahora
9 oct 2017 a las 16:18
este código de www.lawturn.com
/* SlSlib tags add class */
<?php if(has_tag()) : ?>
<?php
$tags = get_the_tags(get_the_ID());
foreach($tags as $tag){
echo '<a href="'.get_tag_link($tag->term_id).'" rel="tag" class="tag-'.$tag->name.'">'.$tag->name.'</a>';
} ?>
<?php endif; ?>
Usar obtener_las_etiquetas en su lugar, haga un bucle for y cree su propio marcado.