2010-07-23 23 views
7

Her etiketin, benzersiz bir sınıf seçicisi ile atanmasını sağlayacak şekilde çıktılamak için_tags() öğesini nasıl alabilirim? Yani, örneğin:Wordpress: the_tags() öğesine sınıf seçicileri ekleme; çıkış

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

mümkün mü bunun için: Böyle çıkış şey istiyorum, Ancak

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

: the_tags() şu anda böyle bir şey çıkarır? Öyleyse nasıl? Teşekkürler!

cevap

1

get_the_tags kullanın, bunun yerine bir döngü yapın ve kendi işaretlemenizi oluşturun.

11

Çalıştı, teşekkürler! Bu benim yaptığım budur:

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

dan Sen benim cevap işaretleyebilirsiniz kabul edilen veya bu ararken Senin ki diğer insanların yarar sağlayacak aynı sorun. SO'nun SSS'de nasıl çalıştığını okuyabilirsiniz. http://stackoverflow.com/faq – GmonC

3

Ayrıca get_the_tags(); fonksiyonunun çalışma aşırı yüklenmeye neden olabilir. Sadece functions.php tema dosyanın yanındaki kodu ekleyin:

// 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

Güzel. Çözümü beğendim. – somethingnow

3

bu kod 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; ?> 
İlgili konular