lostyazilim
tr.link

WordPress’te otomatik yazı kesme (the_excerpt)

5 Mesajlar 2.779 Okunma
acebozum
tr.link

Sinan Sinan Grana Kullanıcı
  • Üyelik 18.07.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Yazılım Geliştirme Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad S** Y**
  • Mesajlar 3509
  • Beğeniler 1321 / 1320
  • Ticaret 97, (%100)
WordPress bloglarınızda ki güzel bir olay ise yazı kesme olayı. Diğer adıyla “devamını oku” kısmı. Kimisi bunu eliyle (manuel) yapmayı tercih eder, kimisi ise otomatik olarak kesmeyi. Otomatik olarak yazıyı belirlediğiniz karakter sayısı yada kelime sayısından sonra kesecek olan bir çok eklenti mevcut. Ancak ben bu yazımda WordPress’in bir fonksiyonu yardımıyla bu işlemi eklenti kullanmadan yapmayı göstericem. Öncelikle temanızda yazıların listelendiği dosyaları (index, search, archive, author) açın. Ancak herkesde “author” dosyası olmayabilir. Bazı olmayan temalara rastladığım için söylemek istedim. Bazı temalarda ise daha fazla yazı listelenen dosyalar olabilir. Bu konuda tema dosyalarınızı incelemeniz gerekiyor. Açtığınız dosyalarda şöyle bir kod bulacaksınız:



Bu benim temamda kullandığım kod; zaten sizde değişik olabilecek tek kısmı “.. devamını oku »” kısmı olacaktır. Bu konu bulmak için “the_content” olarak aratmanız yeterli olacaktır.

Daha sonra bulduğunuz bu alandaki “the_content” kısmını “the_excerpt” olarak değiştirin. Değiştirdiğiniz kod şu şekilde olacaktır.



Kod bu hali aldıktan sonra bunu az önce bahsettiğim tüm yazı listelemesi yapılan dosyalarınıza uygulayın. Ardından “function.php“i açın ve en sona gelin; ?> işaretinden önce şu kodları yapıştırın.

function new_excerpt_length($length) { return 50; }
add_filter(‘excerpt_length’, ‘new_excerpt_length’);
function new_excerpt_more($more) { return ‘ID).’”>’; }
add_filter(‘excerpt_more’, ‘new_excerpt_more’);


Kodlar içerisindeki kırmızı renkli olan kısımları değiştirebilirsiniz. “50” rakamı kaç kelime sonra yazının kesileceğini ifade ediyor. “” ise yazının kesildiği yere eklenecek kısım.

NOT: Ancak bu şekilde otomatik yazı kesme işlemini yaparsanız, yazının kesildiği yere kadar tüm stil özelliklerini kaldırır. Yani yazınız düz bir yazı gibi olur. İçinde link, kalınlık, renk ve resim gibi hiçbir özelliği barındırmaz. Ancak yazı içerisine girince bu durum normale döner.

Umarım anlaşılır bir anlatım olmuştur. Herhangi bir sorun yaşadığınızda yazı altına yorum atarsanız, en kısa zamanda cevap vermeye çalışırım. Ancak lütfen yazıyı tamamen okumadan işlemi yapmayın. Bu her konu için geçerli.

Kaynak: http://www.syorulmaz.com/wordpresste-otomatik-yazi-kesme-the_excerpt.html
 

 

elektronikssl
webimgo

AlpEreN AlpEreN Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 28.03.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Öğretmen
  • Konum
  • Ad Soyad A** S**
  • Mesajlar 633
  • Beğeniler 0 / 3
  • Ticaret 0, (%0)
Localde hata veriyor..
 

 

Sinan Sinan Grana Kullanıcı
  • Üyelik 18.07.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Yazılım Geliştirme Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad S** Y**
  • Mesajlar 3509
  • Beğeniler 1321 / 1320
  • Ticaret 97, (%100)

AlpEreN adlı üyeden alıntı

Localde hata veriyor..


Function kodlarını arasına koyduğuna emin ol.

www.turkcevizy.com
www.blog.modernyurtlar.com
www.sosyalcin.net
www.sunayakin.biz

Buralarda sorunsuz çalıştığına göre mutlaka sen bir yanlış yapmışsındır.
 

 

FatihToprak FatihToprak www.fatihtoprak.com Kimlik Onayı
  • Üyelik 13.06.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad F** T**
  • Mesajlar 577
  • Beğeniler 65 / 67
  • Ticaret 0, (%0)
Türkçe karakter sorunu yaşanabilir. UTF 8 without bom olarak dönüştürülmeli. Ya da Türkçe karakterler için ayrı bir tanımlama yapılabilir fonksiyon içine.

Ek Olarak: Yapılışı :

Fonksiyon olarak :

//KARAKTER LIMITLEME
function yazikes($text, $limit = 25, $ending = '...') {
if (strlen($text) > $limit) {
$text = strip_tags($text);
$text = substr($text, 0, $limit);
$text = substr($text, 0, -(strlen(strrchr($text, ' '))));
$text = $text . $ending;
}

return $text;
}


Kullanım şeklide

post_content,25); ?>
 

 

wmaraci
wmaraci

AlpEreN AlpEreN Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 28.03.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Öğretmen
  • Konum
  • Ad Soyad A** S**
  • Mesajlar 633
  • Beğeniler 0 / 3
  • Ticaret 0, (%0)

Sinan YORULMAZ adlı üyeden alıntı

Function kodlarını arasına koyduğuna emin ol.

www.turkcevizy.com
www.blog.modernyurtlar.com
www.sosyalcin.net
www.sunayakin.biz

Buralarda sorunsuz çalıştığına göre mutlaka sen bir yanlış yapmışsındır.


Sorun halloldu. index.php dosyasındaki excerpt yanlış yazmışım o yüzden. teşekkürler...
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al