• 08-11-2010, 00:18:46
    #1
    Wordpress te etiketleri aşaüıdaki kod ile post içinde gösteriyorum.

    <?php the_tags('<div class="tags"><strong>Etiket:</strong> ', ', ', '</div>'); ?>

    Gösterimde bir kelime sınırı koyabilirmiyim? Etiket sınırı değil kelime sınırı koymak ıstıyorum. Örneğin 50 kelime olunca tag göstermesin. O postun altında 50 kelime kadar tag göstersin istiyorum. Bu mümkünmüdür? Mümkün ise nasıl?
  • 08-11-2010, 02:59:56
    #2
    Üyeliği durduruldu
    Alternatif: Forumda bir arkadaş eklenti yapmıştı 20 tl ye satıyordu sanırım tam istediğine göre bak istersen
  • 08-11-2010, 11:46:18
    #3
    Kullandığın eklentinin linkini verir misin?
  • 08-11-2010, 12:52:40
    #4
    Gmn
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Aklıma birşey geliyor belki sana bu konuda yol gösterebilir
    Buradan the_excerpt fonksiyonun kullanımına bakıp yazında 40 kelime gibi bi limit belirliyip daha sonrasında taglarınıda kalan 10 kelimede limitleyebilirsin.Tag limitlemek içinde bu koda bakabilirsin.
    <?php
    $posttags = get_the_tags();
    $count=0;
    if ($posttags) {
    	foreach($posttags as $tag) {
    		$count++;
    		echo '<a href="'.get_tag_link($tag->term_id).'">'.$tag->name.'</a> ';
    		if( $count >4 ) break;
    	}
    }
    ?>
    bu kodda tagı 4 le limitlemiş bu değeri değiştirerek birşeyler denersen belki bir çözüm olabilir.
  • 08-11-2010, 14:31:40
    #5
    Ben aynı durumda şu fonksiyonu kullanıyordum: http://tr.php.net/manual/tr/function.substr.php
  • 08-11-2010, 15:58:23
    #6
    Üyeliği durduruldu
    peace adlı üyeden alıntı: mesajı görüntüle
    Wordpress te etiketleri aşaüıdaki kod ile post içinde gösteriyorum.

    <?php the_tags('<div class="tags"><strong>Etiket:</strong> ', ', ', '</div>'); ?>

    Gösterimde bir kelime sınırı koyabilirmiyim? Etiket sınırı değil kelime sınırı koymak ıstıyorum. Örneğin 50 kelime olunca tag göstermesin. O postun altında 50 kelime kadar tag göstersin istiyorum. Bu mümkünmüdür? Mümkün ise nasıl?

    $kactane değişkenine gözükmesini istediğiniz etiket sayısını yazın.

    <?php the_tags('<div class="tags"><strong>Etiket:</strong> ', ', ', '</div>'); ?>
    yerine aşağıdakini kullanın.

    <?php 
    $kactane = 3;
    
    function etiketci( $before = null, $sep = ', ', $after = '' ) {
    	if ( null === $before )
    		$before = __('Tags: ');
    	return get_the_tag_list($before, $sep, $after);
    }
    $etiketler = etiketci('[etiket]', ', ', '[etiket]'); 
    $etiketler = str_replace('[etiket]','',$etiketler);
    $etiketbol = explode(', ',$etiketler);
    $sayisi=count($etiketbol);
    if ($sayisi>=$kactane+1)
    {
    $tags = $etiketbol[0];
    for ($sayac = 1; $sayac <= $kactane-1; $sayac++ ) 
    {
    $tags .= ', ' .$etiketbol[$sayac]; 
    }
    }else{
    $tags = $etiketler;
    }
    echo '<div class="tags"><strong>Etiket:</strong> ' .$tags. ' </div>';
    ?>
  • 11-11-2010, 14:11:26
    #7
    ChatLakTurK adlı üyeden alıntı: mesajı görüntüle
    $kactane değişkenine gözükmesini istediğiniz etiket sayısını yazın.

    <?php the_tags('<div class="tags"><strong>Etiket:</strong> ', ', ', '</div>'); ?>
    yerine aşağıdakini kullanın.

    <?php 
    $kactane = 3;
    
    function etiketci( $before = null, $sep = ', ', $after = '' ) {
    	if ( null === $before )
    		$before = __('Tags: ');
    	return get_the_tag_list($before, $sep, $after);
    }
    $etiketler = etiketci('[etiket]', ', ', '[etiket]'); 
    $etiketler = str_replace('[etiket]','',$etiketler);
    $etiketbol = explode(', ',$etiketler);
    $sayisi=count($etiketbol);
    if ($sayisi>=$kactane+1)
    {
    $tags = $etiketbol[0];
    for ($sayac = 1; $sayac <= $kactane-1; $sayac++ ) 
    {
    $tags .= ', ' .$etiketbol[$sayac]; 
    }
    }else{
    $tags = $etiketler;
    }
    echo '<div class="tags"><strong>Etiket:</strong> ' .$tags. ' </div>';
    ?>
    Bu kodu ana sayfada deneyince hata veriyor. Birden fazla yazı içerdiğinden, sadece birinci yazının sonunda gösteriyor. İkinci yazının sonunda ise;

    Fatal error: Cannot redeclare etiketci() (previously declared in index.php:39) in /index.php on line 39

    39.satır:
    function etiketci( $before = null, $sep = ', ', $after = '' ) {
  • 11-11-2010, 14:26:56
    #8
    Üyeliği durduruldu
    Inch adlı üyeden alıntı: mesajı görüntüle
    Bu kodu ana sayfada deneyince hata veriyor. Birden fazla yazı içerdiğinden, sadece birinci yazının sonunda gösteriyor. İkinci yazının sonunda ise;

    Fatal error: Cannot redeclare etiketci() (previously declared in index.php:39) in /index.php on line 39

    39.satır:
    function etiketci( $before = null, $sep = ', ', $after = '' ) {
    ben single.php için düşünerek bunu yazmıştım.

    index.php veya kategori içeriğinin listelendiği bir sayfada kullanacaksanız

    <?php 
    $kactane = 3;
    
    function etiketci( $before = null, $sep = ', ', $after = '' ) {
        if ( null === $before )
            $before = __('Tags: ');
        return get_the_tag_list($before, $sep, $after);
    }
    ?>
    bu kodu sayfanın üstünde bir yere koyun.

    daha sonrada
       <?php the_tags('<div class="tags"><strong>Etiket:</strong> ', ', ', '</div>'); ?>
    bunu

    aşağıdaki kodla değiştirin.
    <?php
    $etiketler = etiketci('[etiket]', ', ', '[etiket]'); 
    $etiketler = str_replace('[etiket]','',$etiketler);
    $etiketbol = explode(', ',$etiketler);
    $sayisi=count($etiketbol);
    if ($sayisi>=$kactane+1)
    {
    $tags = $etiketbol[0];
    for ($sayac = 1; $sayac <= $kactane-1; $sayac++ ) 
    {
    $tags .= ', ' .$etiketbol[$sayac]; 
    }
    }else{
    $tags = $etiketler;
    }
    echo '<div class="tags"><strong>Etiket:</strong> ' .$tags. ' </div>';
    ?>
  • 11-11-2010, 14:39:21
    #9
    Tamamdır, teşekkür ederim. Çok makbule geçti.