Kısalink API Kullanımı
Bildiğiniz üzere bir süre önce Kısalink adında ve http://kisalink.tk alan adında barınan bir link kısaltma servisi açtım. Bu servis işe yarar mı yaramaz mı bilmiyordum en başlarda. Ama gördüm ki geçen gün 1000 linkten fazlasını kısalttı. Eksik kalan taraflarını düzenleme vaktinin geldiğini anlamış oldum böylelikle. Geçen ay zaten Türkiye lokasyonlu sunucuma çekmiştim hizmeti bugün de eksik bıraktığım API ve Bookmarklet kodlarında iyileştirmeye gittim ve çalışır hale getirdim. Evet domain biraz uzun görünüyor :) Yakında bu hizmeti yeni bir domainle taçlandırabilirim. Gelelim WordPress içinde nasıl kısalink API si kullalnılır mevzusuna. Aşağıda vereceğim kodu temanızdaki functions.php içine yerleştirmek ve link kısaltmak istediğiniz yerde fonksiyonu çağırmanız yeterli olacaktır.
Kendi hizmetimin API lerini kullanmak daha bir hoş geliyor ne yalan söyliyeyim.
İşte Kod;
Bu kodu temanızda bulunan functions.php içindeki en son ?> satırından bir satır önce yerleştirin. Yedek almayı unutmayın.
//Kısalink API Kullanımı//
function kisalinkk() {
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$kisalt = file_get_contents("http://kisalink.tk/api.php?url=".$url);
return $kisalt;
}
//Kisalink API Kullanımı//
Bu kod şu işlevi gerçekleştiriyor. url olarak çağırdığımız alanda bulunduğu sayfanın linkini getiriyor ve api urlsi içinde bunu işletiyor. file_get_contents ile api sayfasının getirdiği link içeriğini yazdırıyoruz. En son olarak aşağıdaki kodu temanızın single.php dosyası içine the_content kodundan sonra eklerseniz benim sitemde BENZER YAZILAR alanının altındaki gibi bir kısa linke sahip olabilirsiniz.
<strong>Kısa Link: </strong><a href="<?php echo (kisalinkk($url)); ?>"><?php echo (kisalinkk($url)); ?></a>
Hepsi bu kadar. Kafanıza takılan veya çalışmıyor dediğiniz bir durum oluşursa yorumlarınız içerisinde size yardımcı olabilirim.
Selametle.
Ben Yourls alt yapısını kullanarak bu işlemi yapmaya çalıştım ama başaramadım. Api dosyasının ismi yourls-api.php ve api ile ilgili kullanım şu sayfada belirtilmiş: http://yourls.org/#API Bu yazıda belirttiklerin ile api dökümanını harmanlayarak yapmaya çalıştım. Yazıya tıkladığımda, yazının yüklenmesi single.php'deki kısma gelir gelmez ana domaine yönlendiriyor.
İncelemeye alacağım bakalım, belki uyarlarsam yazarım :) Ama istersen bu apiyi de kullanabilirsin. kisalink.tk hali hazırda sağladığım ve devamlı bir sistemim. Yabancıya ne hacet :)
Hali hazırda ramo.me adında bir alan adım var ve yourls alt yapısını kullanıyorum. Manuel olarak kısaltıyorum ramazanbenek.com'daki yazıları. Yazıların kısalinkini otomatik olarak oluşturmak istemiştim. :) İnceleyebilme imkanın olursa çok sevinirim. :)
mehabalar peki özel alan ile sayfaya bastığım bir linki otomatik olarak nasıl kısaltabilirim ?
Özel alan bilgisini $url tanımına eklersiniz. Yani $url = get_post_meta($post->ID, $key1, TRUE); olarak çağırırsınız. Ayrıca $key1i daha önce tanımlamış olmanız gerekeceğinden $key1=özelalanadınız; olarak $url den önce tanımlamanız gerekir. Böylece aynı şekilde sizin özel alan ile bastığınız link kısalmış olarak gelir. Eğer functions.php içinde hata alırsanız (değişiklği yaptıktan sonra) single.php gibi kullanacağınız yere ekleyebilirsiniz fonksiyonu.
Umarım açıklayıcı olmuşumdur.
fakat sorun şu ki uzun zamandır fonksiyon dosya ile yapılandırmıyorum özel alanı custom field isimli eklenti ile yapıyorum istediklerii bu ekilde temayı deiştirdğim zaman istediğim yerlere ilgili kodların bulunduğu sayfayı include etmem yetiyor :(
tamam şimdi örneğin elinde 4 adet farklı özel alan mevcut ve hepsi link
link1
link2
link3
ve
link4
single php ye eklemem gereken kod nasıl olmalı ? ( acemiyim biraz )
Ahmet o plugin bir shortcode (kısakod) yapısında yazıya mı ekliyor sistemi yoksa otomatik olarak mı ekliyor? Yukarıdaki fonksiyonu kısakod haline getirebiiriz aşağıdaki kodla. Böylelikle [kisalink]link adresi[/kisalink] gibi eklenebilir sanırım. Böylelikle plugin [cusomfiled] gibi kısakod ile çağırıyorsa linkleri [kisalink][customfield][/kisalink] olarak kullanabilirsin.
<code>function kisalinkk($atts, $content= null) {
$kisalt = file_get_contents("http://kisalink.tk/api.php?url=".$content);
return $kisalt;
}
add_shortcode('kisalink', 'kisalinkk');</code>
Umarım düşündüğüm gibi çalışıyordur kullandığın eklenti
ismini yanlış yazmışım :) more fields olması gerekiyordu
şimdi site içerisinde more fields sayesinde fonksiyon dosyasını kurcalamdan eklediklerimi single php dosyası içerisinde ilgili yazı nın CONTENT haricindeki kısmına basabiliyorum
örneğin
morefiled ile bir metn editörü ekliyorum ve buna aciklama ismini veriyorum daha sonra sayfada aciklama isimli özel alan ı şartlı dalanma ile çağırıyorum
veya hazırladığım içerik içerisinde linkler varsa her linki ayrı ayrı özel alana giriyorum ve yine yazı içerisinde CONTENT haricindeki kısımda bunu sayfaya basıyorum yani bbcode ve benzeri kısa kodlar kullanmıyorum bana br mail atarsanız size sitenin linki verebilirim ilgili link sitenize uygun olmadığı için burada yayınlamıyorum saygılar
Anladım. E-Postan geliyor…