Ana Sayfa » »
Ağu
7
2013

Yazı Başlıklarını Kelime veya Harf Sayısına Göre Kısaltma

WordPress sitelerimizde bazen çok uzun başlıklar kullanabiliyoruz. Özellikle ben bunu çok yapıyorum. Uzun başlıklar her ne kadar içeriğimizi anlatmakta iyi olsalar da yazı başlıklarını dar bir alanda göstermek zorunda kaldığımızda sıkıntı yaratabilmekteler. Mesela dar olan yan menünüze son yazıların başlıklarının listesini eklemek istiyorsunuz. Uzun başlıklar listenin uzamasına, biçiminin bozulmasına neden olacaktır. Bu tür durumlarda uzun başlıkları kelime ya da harf sayısına göre kısaltmak mümkün.

Bu işlemi yapmak için iki farklı fonksiyon tanımlayacağız. Ardından başlıkların nasıl kısaltmak istiyorsak, o fonksiyona başlığı iletecek ve kısalmış halini alıp, kullanacağız. Fonksiyonlarımızdan ilki başlığı kelime sayısına göre kısaltıyor. Kodları temanızın functions.php dosyasına eklemeniz durumunda fonksiyonları sitenizin her yerinde kullanabilirsiniz.

function kelimeye_gore_kisalt($baslik = '', $sonra = '', $uzunluk) {
        if (!$baslik) return $baslik;
	$basligim = explode(' ', $baslik, $uzunluk);
	if (count($basligim)>=$uzunluk) {
		$basligim= implode(" ",$basligim). $sonra;
	} else {
		$basligim= implode(" ",$basligim);
	}
	return $basligim;
}

Fonksiyonu döngü (Loop) içerisinde veya dışında aşağıdaki gibi kullanabilirsiniz.

echo kelimeye_gore_kisalt(get_the_title(), '...', 5);
//kod yazının başlığındaki ilk 5 kelimeyi alacak
//eğer başlık 5 kelimeden uzun ise sonuna ... ifadesini ekleyecek.

//döngü dışına ise
echo kelimeye_gore_kisalt($baslik_metni, '...', 5);
//veya
echo kelimeye_gore_kisalt('Yazı Başlıklarını Kelime veya Harf Sayılarına Göre Kısaltmak', '...', 5);
//şeklinde kullanabilirsiniz

İkinci fonksiyonumuz ise yazıları karakter sayısına göre kısaltıyor. Yani başlığın belirttiğiniz karakter sayısına kadar olan kısmını alıp, döndürüyor.

function harfe_gore_kisalt($baslik, $sonra = '', $uzunluk) {
	$boyut = mb_strlen($baslik);
	if($boyut>$uzunluk) {
		$baslik = mb_substr($baslik, 0, $uzunluk);
		$baslik= explode(' ',$baslik);
		array_pop($baslik);
		$baslik = implode(" ",$baslik).$sonra;
	}
	return $baslik;
}

Fonksiyonu döngü içinde ya da dışında aşağıdaki şekilde kullanabilirsiniz.

echo harfe_gore_kisalt(get_the_title(), '...', 25);
//kod yazının başlığındaki ilk 40 harflik bölümü alacak
//eğer başlık 40 harften uzun ise sonuna ... ifadesini ekleyecek.

//döngü dışına ise
echo harfe_gore_kisalt($baslik_metni, '...', 25);
//veya
echo harfe_gore_kisalt('Yazı Başlıklarını Kelime veya Harf Sayılarına Göre Kısaltmak', '...', 25);
//şeklinde kullanabilirsiniz

Her iki fonksiyonu da artık, temanız içerisinde istediğiniz yerde ve eklentileriniz içerisinde kullanabilirsiniz.

Bu yazımı beğendiyseniz, bu kategoride yer alan WordPresste Birden Fazla Sitede Aynı Kullanıcıları Kullanma - 6 başlıklı kullanıcılar, ortak kullanıcı ve phpmyadmin konularında bilgi veren bir önceki yazımı da okumanızı tavsiye ederim.

Yorumunu Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yukarı Çık