2010-07-23 13 views
7

¿Cómo obtengo the_tags() para dar salida a cada etiqueta de modo que venga asignada con un selector de clase único? Así, por ejemplo: the_tags() actualmente da salida a algo como esto:Wordpress: Agregar selectores de clase a the_tags(); salida

<a href="http://myblog.com/tag/kittens" rel="tag">kittens</a> 

Sin embargo, me gustaría algo salida como esta:

<a href="http://myblog.com/tag/kittens" rel="tag" class="tag-kittens">kittens</a> 

¿Es posible hacer esto? ¿Si es así, cómo? ¡Gracias!

Respuesta

11

¡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>'; 
    } 
} 
?> 
+4

Puede marcar mi respuesta como aceptada o el suyo para que otras personas se beneficiarían en la búsqueda de este el mismo problema. Puede leer cómo funciona SO en las preguntas frecuentes. http://stackoverflow.com/faq – GmonC

3

también le puede sobrecargar de trabajo de get_the_tags(); función. Sólo tiene que añadir siguiente código a su archivo functions.php 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'); 
+0

Agradable. Me gusta la solución. – somethingnow

3

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