Yazı hakkındaki yorumun nedir?
Eklenti kullanmadan yazılara karakter sınırı getirmek
Bilindiği üzere çoğu tema yapımcısı temalarının anasayfasında yazılara karakter sınırlaması getirmek ister görüntünün bozulmaması için. Bunun için de “WP Limit Posts Automatically” eklentisini kullanırlar. Fakat eklenti kullanmak yerine bu işlemi çok basit bir fonksiyon ile halledebiliriz.
Öncelikle temanızın functions.php dosyasını açın ve aşağıdaki kodu bulun.
?>
Hemen üstüne aşağıdaki kodları ekleyin.
function wpn_content_limit($content, $ilimit = false)
{
$limit = ($ilimit) ? $ilimit : 270;
$pad="...";
$content = strip_tags($content);
if(strlen($content) > $limit)
{
$content = substr($content,0,$limit);
}
echo $content.$pad;
}
Daha sonra
Daha sonra kaydedin ve tema klasörünüzün içine atın.
Nasıl Kullanırım?
Yukarıdaki işlemleri yaptık sıra geldi kullanımına. index.php de aşağıdaki kodu bulun.
<?php the_content(); ?>
Bu kodu silin ve yerine aşağıdaki kodu ekleyin.
<?php wpn_content_limit(get_the_content(),825); ?>
Buradaki 825 rakamı yazının kaç karakterle sınırlanacağını belirtiyor. Bunu isteğinize göre değiştirin.
Merhaba; Bende Arthemia Kullanıyorum Tasarımda Ama Content’i Bulamadım ;)
Arthemia teması dahil bazı temalarda yerine olarak geçiyor.
Daha önce bende wordpress kullanıyordum ama şimdi dle’li olduk. WordPress için bu bilgiler gerçekten çok önemli eline sağlık.
Daha önceden bende dle kullanıyordum. Sağlam bir sistem. Fakat Worpdress kod yapısı daha esnek geldi bana. İstediğim gibi müdahele edebiliyorum.
Teşekkür ederim bu arada.
Teşekkürler süper yazı olmuş.
dediklerinizi yaptım ama index.php hatası veriyor yardım ederseniz sevinirim
Eksiksiz ve hatasız bir şekilde yapmışsanız hata vermemesi lazım.
Evet yaptım karekteri kısaltıyor ama resimler görünmüyor ve kelimelere link ekledigimde o linkler görünmüyor acaba varmı bir çaresi
functions.php dosyasına eklediğiniz kodlardan şu satırı silin.
$content = strip_tags($content);
Merhaba, bu güzel yazınız için çok teşekkürler. Bu konu hakkında size bir şey sormak istiyorum. Benim temam kendisi otomatik olarak hem özet göstermeyi hem de yanında küçük resmi destekliyor (Temanın seçenekleri içindeki özet göstermeye tik atınca); fakat yorumlardaki Halil Bey’in söylediği gibi yazının içindeki farklı renk, bold, link, paragraf gibi özellikleri göstermiyor. Acaba kodların içinde bunu düzeltebileceğim bir yer olabilir mi? Tabi ben bu özelliği kodlarla yapmadığım için functions.php içinde “$content = strip_tags($content);” bu bölümü atamıyorum haliyle. Bu konuda yardımcı olabilir misiniz? B
Bu arada WP kullanıyorum; ama pek bilgili değilim bu konuda, blogunuzda bununla ilgili çok güzel postlar var, hepsini okuyup bana uyanları denemek istiyorum. Elinize sağlık, kolay gelsin.
functions.php dosyasında strip_tags diye arama yaptığınızda herhangibir sonuç çıkmıyor mu? Eğer çıkıyorsa o satırı silip deneyin bir. Olmazsa iletişim sayfasından bana mail atın, yardımcı olmaya çalışırım.
Ben twenty eleven kullanıyorum. index.php’de neyi değiştireceğim anlamadım. the content diye aratıyorum çıkmıyor.
content.php’de arattır sen Orhan.
Teşekkürler İsmail abi.
Hepsini denedim ama gene olmadı hata veriyor kullandığım tema Newsworthy. yardım edin :)
Ne hatası veriyor?
eyvallah.
Türkçe karakterler işin içine girince strlen ve substr fonksiyonları problem çıkarmaya başlayacaktır. Bu nedenle strlen yerine mb_strlen fonksiyonunu substr yerine de mb_substr fonksiyonunu kullanmalısınz. (PHP.net’ten kullanımlarına bakabilirsiniz).
Ayrıca önceki yorumlardan birine cevap olaras strip_tags fonksiyonunu kaldırmasını söylemişsiniz ancak bunu yaparsanız, fonksiyon bir html etiketini ortasından bölebilir, örneğin h2>yazı başlığı/h2> şeklindeki (özellikle küçüktür simgesini yazmadım) bir başlığı h2>yazı şeklinde böldüğünde içeriğin devamı da h2 olarak kalacaktır.
Yine de kodu geliştirmek amacıyla, bölünen içeriğe
http://codex.wordpress.org/Function_Reference/balanceTags
adresinde anlatılan WordPress fonksiyonu ile kapatılmayan etiketler kapatılabilir. Ancak yine de strip_tags olmayan kullanımlar riskli olacaktır.
mb_strlen fonksiyonunu şuan kendim kullanıyorum hocam fakat konuya eklememişim sanırım. Birazdan bu fonksiyonu konuya eklerim.
strip_tags fonksiyonunun kaldırılmasının riskli olduğunu bilmiyordum. Teşekkür ederim bilgilendirme için.
Dediklerinizi yaptım index sayfası için oldu ancak türkçe karakter ve css problemi yaşıyorum. artı olarak kategori sayfama girdiğimde de karakter sınırlaması yok. index için hallettim ama kategori sayfam için ne yapıcam
Kategori sayfası için archive.php veya category.php dosyasını düzenlemelisiniz. Hangi dosya varsa artık.
Belli bir karakterin altındaki yazıları yayınlamamak için ne yapmak gerekiyor?
Anlatım için teşekkürler. Bende bu konunun daha farklı bir anlatımını yaptım. http://www.bcankara.com/wp-konu-karakter-kisitlamasi.html konusundan inceleyebilirsiniz.
Bilgiler için teşekkürler…
Bu işlemi ana sayfamız dışında normal KONU İÇİNDE bölmek için kullanamazmıyız… ?
Örneğin sizin bu konunuza google den gelen ziyaretçi verdiğiniz örnekteki gibi 825 karakterini görse ve devamını tıkla diyip kalan kısmını görse ?
Nasıl bir değişiklik gerekir bunun için ?
O konuda bilgim yok.