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;
} <?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