Dinamik the_excerpt()

WordPress temalarını yaparken veya sitede yazıların belli bir komutunu göstermek isterken genelde özet bilgi göstermek isteriz. Bunu da “more” etiketini kullanarak ve the_excerpt() kodu ile düzenleriz. Ama bunun temamız içerisinde bir ayarı yoksa genelde WordPress ne belirlediyse ya da more etiketinin nerde kullanıldığına bağlı olarak görebiliriz. Bu bazen sorun olur. Özellikle tüm yazılara aynı yerde more etiketini uygulamakta sıkıtnı çekeceğimizi düşünürsek.

İşte bu sorunu giderebilmek adına aşağıda sizinle paylaşacağım bir kod var. Tüm Özet bilgilerini aynı karakter sayısına göre düzenleyebileceksiniz.

İşte Kod;

Aşağıdaki kodu temanızın functions.php dosyasının içerisine ekleyeceksiniz. Lütfen bu dosyanın yedeğini almadan işinize başlamayınız. functions.php dosyası /wp-content/themes/temanizin-adi/ yolunda bulunabilir.

Yukarıdaki kod dinamik olarak exceprt kodunuzu değiştirebileceğiniz şu fonksiyonu kullanmanıza imkan veriyor.

print_exceprt() fonksiyonu ile karakter sayısını belirleyebilirsiniz. Yukarıdaki kodda “50” karakterde özet yazısını bitirme komutu vermiş olduk. Bunu istersek 250, 300 veya ne kadar uzun istiyorsanız o kadar uzatabilirsiniz.

Kodun orjinali ve orjinal yazı için tıklayınız.

Selametle

  • Leventdede06

    excerpt ve content kodlarının birlikte kullanılmasında bir sıkıntı doğması mümkün mü. Kolay gelsin.

    • Yukarıda paylaştığım kodun içinde bulunan content için bahsediyorsan, fonksiyonu functions.php içine atacağından sadece 
      print_excerpt(50) 
       i kullanacağından bir sıkıntı olmaz. ama genel anlamda söylüyorsan single.php gibi yazının içeriğini gösteren bir alanda hem excerpt hem de content komutlarını çağırmak iki kere yazı getirecektir

  • Ali

    Verdiğiniz kodu temada uyguladım ancak yazı belirlediğim yerde kesildikten sonra (..) tarzında bişey eklemek istiyorum. Şuan yazı kesildiğinde sonunda bişey yok. Örn: " Hayatıma 1986 yılının son dönemlerinde başladım. Bilgisayar ile tanışmam neredeyse 10 yaşı " gibi.

    • 13. satırdaki $text = substr($text,0,$length); kodunu $text = substr($text,0,$length).'…';

      olarak değiştirirsen istediğin olur sanırım.

WordPress gururla sunar.Theme: Flat by YoArts. WpAdamı Uyarlaması : Serkan Algur