WordPress the_excerpt() Fonksiyonu

WordPress tema fonksiyonlarından birisi de the_excerpt() fonksiyonudur. Bu fonksiyonu kısaca şöyle özetleyeyim. Diyelim ki anasayfada yazılarınızın özetini göstermek istiyorsunuz. Bunun için genelde farklı parametrelerle the_content() fonksiyonu kullanılır. Eğer yazınızı <!–more–> etiketi ile bölmüşseniz bu etikete kadar olan kısım anasayfada görüntülenir. Fakat bazen <!–more–> etiketini kullanmak istemeyiz. Sadece yazının belirli bir kelime kadar olan kısmı anasayfada özet şeklinde görünsün isteriz. Çünkü more etiketini yazının neresine koyacağımızı kestirmek zor olabiliyor. Yanlış bir yere koyarsak tasarımı bozma ihtimali doğuyor. İşte böyle durumlarda yazının belli bir kelimeye kadar olan kısmının anasayfada özet şeklinde görünmesi için the_excerpt() fonksiyonu daha kullanışlı olacaktır.

the_excerpt() Kullanımı

Bu fonksiyonun tek bir kullanımı vardır ki o da şu şekildedir (55 kelime olduğunu varsayın):

<!--?php      the_excerpt();  ?-->

Yukarıdaki fonksiyon yazınızın ilk 55 kelimesini alır, sonuna [...] ekler ve görüntüler. Örnek bir çıktı şu şekildedir.

Büyüklük odur ki kimseye iltifat etmeyeceksin, hiç kimseyi aldatmayacaksın. Memleket için gerçek ülkü ne ise onu görecek ve o hedefe yürüyeceksin. Herkes senin aleyhinde bulunacaktır, seni yoldan çevirmeye[...]

Eğer kelime sayısını (55 değil de 45 mesela) değiştirmek veya en sondaki [...] yerine farklı bir şeyler yazdırmak isterseniz yapmanız gereken wp-includes/formatting.php dosyasını açıp WordPress 2.7.1′de 1482′nci satırda olan şu fonksiyonu bulmak.

function wp_trim_excerpt($text) {
	if ( '' == $text ) {
		$text = get_the_content('');

		$text = strip_shortcodes( $text );

		$text = apply_filters('the_content', $text);
		$text = str_replace(']]>', ']]>', $text);
		$text = strip_tags($text);
		$excerpt_length = apply_filters('excerpt_length', 55);
		$words = explode(' ', $text, $excerpt_length + 1);
		if (count($words) > $excerpt_length) {
			array_pop($words);
			array_push($words, '[...]');
			$text = implode(' ', $words);
		}
	}
	return $text;
}

Buradaki 55 sayısı yerine dilediğiniz rakamı ve [...] yerine de dilediğiniz karakterleri yazıp kaydederseniz artık yazılarınızın özeti dilediğiniz gibi görünecektir.

Not: Bu işlemleri yapmak yerine Custom Excerpts eklentisini de kullanabilirsiniz.

Biraz zor anlattım bu konuyu çünkü kimin olabildiğince herkese hitap etmek isterken daha basite indirgeyemiyorum konuyu. Umarım anlatabilmişimdir. Güle güle faydalanın.

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.

Bu Yazıya Ait Yorumlar

emre yılmaz

emre yılmaz
05 Nisan 2009

01.function wp_trim_excerpt($text) {
02. if ( ” == $text ) {
03. $text = get_the_content(”);
04.
05. $text = strip_shortcodes( $text );
06.
07. $text = apply_filters(‘the_content’, $text);
08. $text = str_replace(‘]]>’, ‘]]>’, $text);
09. $text = strip_tags($text);
10. $excerpt_length = apply_filters(‘excerpt_length’, $s);
11. $words = explode(‘ ‘, $text, $excerpt_length + 1);
12. if (count($words) > $excerpt_length) {
13. array_pop($words);
14. array_push($words, $ay);
15. $text = implode(‘ ‘, $words);
16. }
17. }
18. return $text;
19.}

kullan : wp_trim_excerpt(“hebebebebe”,5,”[---]“);

:)

yedincisenol

yedincisenol
05 Nisan 2009

Teşekkürler…

Baris Unver

Baris Unver
05 Nisan 2009

Sana daha güzel bir kod söyleyeyim mi Erhan abi? :) the_content_rss var: http://codex.wordpress.org/Template_Tags/the_content_rss

Benim kullanımım şu şekilde:

the_content_rss('', FALSE, '', 40);

Arşiv sayfalarında, arama sonuçlarında vs. bu kodu kullanıyorum ve 40′ar kelime gösteriyorum.

yakuter

yakuter
05 Nisan 2009

Meğer herkesin bir çözümü varmış da benim haberim yokmuş :)

Teşekkürler arkadaşlar değerli katkılarınız için.

@Emre Yılmaz, verdiğin fonksiyon ismi değiştirildikten sonra (çakışmaması için) temanın functions.php dosyasına kaydedilip oldukça kolay bir şekilde kullanılabilir.

@Barış, bu fonksiyonu hiç bilmiyordum, iyi olduğu söylediğin ;)

Bu arada şu Custom Excerpts eklentisini denedim, gayet başarılı, tavsiye ederim.

Tayfun Akçay

Tayfun Akçay
22 Nisan 2009

Merhaba
Yazınız çok faydalı. Konuyla alakalı şunu sormak istiyorum. Sizin verdiğiniz örnekte her yazı için standart 55 kelime ile sınırlandırmıssınız peki bunu her yazı için farklı olacak şekilde istediğimiz karakter sayısı kadar sınırlandırabilirmiyiz? Aklıma özel alanlar geliyor ama burada ne yapıcağımı bilmiyorum. Yardımcı olursanız sevinirim.
İyi Çalışmalar

Sait

Sait
28 Nisan 2009

eklentiyle yapılması dezavantajdı zaten

F.Gokhan

F.Gokhan
03 Mayıs 2009

Bunu cümle yapamazmıyız kelime olunca anlamsız olur diye düşünüyorum cümle olarak yapılabiliyor mu?

yakuter

yakuter
04 Mayıs 2009

Bu fonksiyon yapamıyor bu söylediğini ama benim kendi kodum var bunu yapan :)

F.Gokhan

F.Gokhan
04 Mayıs 2009

Paylaşırsan sevinirim.

Onur

Onur
18 Ekim 2009

bilgiler için teşekkürler :)

talat

talat
16 Kasım 2009

okuma ayarlarında tüm metin işaretli olmasına rağmen rss çıktılarım 55 kelime ile sınırlı. ana sayfada problem yok fakat rss de neden özet geliyor çözemedim. bi fikriniz varmı erhan abi?

yakuter

yakuter
16 Kasım 2009

Makalede zaten bunu anlattım. Lütfen makaleyi okuyup öyle yorum yapalım.

talat

talat
16 Kasım 2009

makaleyi okudum erhan abi ama bi türlü rss te tüm metinin görünmesini sağlayamadım. 55 sayısını çok büyük bi sayı değeri girerek yazıların hepsini gösterebiliyorum yada strip_tag’ın içine etiketi girerek resimleri de gösterebiliyorum ama benim istediğim rss çıktımın excerpt fonksiyonu kullanılmadan üretilmesi. ve bunu hangi dosyadan ayarlayacagımı çözemedim. temada problemim yok. teşekkürler.

tolga

tolga
06 Aralık 2009

selamlar yakuter bu verdiğin koda o yazıyla ilgili resimleri nasıl ekleyebiliriz… the_excerpt(); ile yazıyı gösterirken o yazının içindeki resimleride içine entegre etmemizin yolu nedir…gerçekten çok ihtiyacım var yazını sürekli takip ediyorum teşekkürler.

Emre

Emre
09 Şubat 2010

tolga‘nın da bahsettiği gibi metinlere kota koyabiliyoruz. Fakat resimler görünmüyo. Yardımcı olabilirmisiniz…

yakuter

yakuter
09 Şubat 2010

Resimlerin görünmesi için malesef bu fonksiyon yerine başka metodlar kullanmanızı tavsiye ederim. Çünkü bu fonksiyon içeriğe filtre uygulamaktadır.

hakan

hakan
08 Mart 2010

güzel bir konuya deyinmişsiniz teşekkür ederim sormak istedigim bir konu daha var yazı için girilen etiketleri kısabiliyormuyuz örnek vermek gerekirse admin panelinde bir yazıya 5 etiket girdim var sayalım bunu yazı içinde sadece 3 er tane gösterme şansımız varmı cvpbınız için şimdiden teşekkürler

yakuter

yakuter
16 Mart 2010

Bildiğim kadarıyla normal wordpress fonksiyonlarıyla bunu yapmanız mümkün değil ama elbette kendi yazacağınız veya yazdıracağınız kod ile dilediğiniz kadar etiket görüntüleyebilirsiniz.

Anlasilmaz

Anlasilmaz
13 Ekim 2010

Hocam selamlar benim merak ettiğim başka birşey var benim kullandığım temada yukarda verdiğiniz ayarları yapıyorum ama ana sayfada yazıda ne kadar boşluk bırakırsam bırakayım yinede yazılar sırt sırta görünüyor resimdeki gibi : http://img176.imageshack.us/img176/9546/29897418…. ama ben yazı aralarında boşluk bırakınca ana sayfadada boşluklu bir şekilde görülmesini istiyorum örnek resimdeki gibi : http://img546.imageshack.us/img546/2397/59993594…. bunu nasıl ve ne şekilde düzelte bilirim acaba şimdiden yardımlarınız için teşekürler saygılar

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.

TAMindir.com - Yeni Programlar

iPadian - Windows

Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...

ClipGrab - Windows

YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...

Elder Scrolls V Skyrim Duvar Kağıtları - Windows

Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....

Undelete 360 - Windows

Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...

Knights of the Old Republic 2 Duvar Kağıtları - Windows

Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi).
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.