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.
// Variable & intelligent excerpt length.
function print_excerpt($length) { // Max excerpt length. Length is set in characters
	global $post;
	$text = $post->post_excerpt;
	if ( '' == $text ) {
		$text = get_the_content('');
		$text = apply_filters('the_content', $text);
		$text = str_replace(']]>', ']]>', $text);
	}
	$text = strip_shortcodes($text); // optional, recommended
	$text = strip_tags($text); // use ' $text = strip_tags($text,'<p><a>'); ' if you want to keep some tags

	$text = substr($text,0,$length);
	$excerpt = reverse_strrchr($text, '.', 1);
	if( $excerpt ) {
		echo apply_filters('the_excerpt',$excerpt);
	} else {
		echo apply_filters('the_excerpt',$text);
	}
}

// Returns the portion of haystack which goes until the last occurrence of needle
function reverse_strrchr($haystack, $needle, $trail) {
    return strrpos($haystack, $needle) ? substr($haystack, 0, strrpos($haystack, $needle) + $trail) : false;
}

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

< ?php print_excerpt(50); ?>

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




Yazar HakkInda

Hayatıma 1986 yılının son dönemlerinde başladım. Bilgisayar ile tanışmam neredeyse 10 yaşıma kadar sürdü :) Sonra İnternet vb. şeyler arkasından geldi.
Yukarı