Linkleri isimleriyle göstermek
Sitemize bir makale eklediğimizde ve bu makale içinde referans tuttuğumuz başka makaleler olduğunda bu sitelere link vererek hem emeğe saygı sunmuş oluyoruz hem de izinsiz kullanım yapmamış oluyoruz. Ama ben kendimi bildim bileli o linkleri tek tek eklemek ya da sadece link olarak bırakmak zor geliyor. Ben de buna 5-10 dakika önce bir fonksiyon ile beraber kısakod (shortcode) oluşturarak bir çözüm buldum.
Php içinde harici linklerin başlıklarını getireceğimiz birçok fonksiyon var. Bunları kullanarak WordPress uyumlu bir fonksiyon geliştirdim. Daha doğrusu harmanladım. İşlemi basitçe anlatmak gerekirse;
Makale link yayınlayacağınız zaman aşağıdaki ksıa kodu girdiğinizde “url” olarak belirteceğiniz alandaki linki tanımlayarak hedef linki sorguluyor ve title
ve /title
arasındaki başlığı alarak Linkinizin ismi haline getiriyor. Yani linkleri isimleriyle göstermek daha kolay oluyor. Oldukça kullanışlı olduğunu düşündüğüm bu işlemin kodları aşağıda;
Kod;
Ana fonksiyon burada. Bunu temanızın functions.php (genellikle wp-content/themes/temaniz/functions.php yolundadır) içerisine, öncelikle yedek alarak ekleyin. En sonda bulunan ?> işaretinden hemen önce.
//Link İsmi ile getirme
function link_ismi_getir($atts) { //Fonksiyon başlangıcı :)
extract(shortcode_atts(array("url" => 'http://'), $atts)); //url= karşılığı http:// ile olmalı
$str = file_get_contents($url);
if(strlen($str)>0){
preg_match("/<title>(.*)</title>/",$str,$title);
$linkaname = '<a href="'.$url.'" target="_blank" title="'.$title[1].'">'.$title[1].'</a><br />'; //Linkimiz tanımlandı
return $linkaname; //Linki sonuç olarak $linkaname tanımlamasını döndürür
}
}
add_shortcode('linkname', 'link_ismi_getir');
//Link İsmi ile getirme
Yukarıda tüm anlattıklarımı sağlayan kod bu. Şimdi nasıl kullanıldığına bakalım.
[ linkname url="http://adresiniz.com"]
Siz kullanırken linkname
alanından önce bıraktığım boşluğu kaldırın. Ben de bu fonksiyonu kullandığımdan bu şekilde eklemek zorundayım :)
Ve örnek;
Kendi sitemin bi sayfasını seçerek ekliyorum. Çalıştığının göstergesidir. :)
Youtube Önizleme Resmi ve Video Linki
Hadi selametle…