Wordpress KısaYol Kodları
Bu yazımızda basit bir KısaYol Kodunun nasıl hazırlanabileceğini anlatmaya çalışacağız.
KısaYol Kod Türleri
Kısayol Kodları farklı şekilde tanımlanabilir ve kullanılabilir. Aşağıda farklı türlerde KısaYol Kodlarını görebilirsiniz.
[etiket]
[etiket /]
[etiket tanımlayıcı="değer" /]
[etiket tanımlayıcı1='değer1' tanımlayıcı2="değer2" ]
[etiket]içerik[/tag]
[etiket tanımlayıcı="değer"]içerik[/tag]
Gereksinimler
İhtiyaca Göre Orta-Alt Düzeyde PHP (ve/veya) JavaScript bilgisi.
Hazırlık
Bu tür geliştirme ve eklenti hazırlama gibi eylemleri gerçekleştirmeden önce mutlaka amacınızı ve amacınıza ulaşmak için izlemeniz gereken en doğru yolu (en kısa ya da en garanti yolu değil) tanımlamanız gerekir. Bu tanımlamadan sonra en önemli adım ise tasarımını yaptığınız sistemin değiştirilebilir, kolay kullanım stratejisini benimsemiş olan ve yenilenmeye açık olduğunun garanti altına alınmasıdır. Bu sayede ileride karşılaşabileceğiniz muhtemel değişiklik ve geliştirme adımları sizin için çok kolay olacaktır.
Değiştirilebilir yapı, gerekli yerlerde doğru değişkenler tanımlayarak ihtiyaç halinde budeğişkenlere atanan değerlerin değiştirilebilmesini sağlamakla elde edilebilir.
Örneğin: birden fazla internet sitesine link vermek için KısaYol Kodları’nı kullanmak istiyorsunuz, bunun için KısaYol Kodları sisteminde kullanacağınız anahtarlar (konunun ilerleyen kısmında değinilecektir) herbir sitenin adını içerecek şekilde olabilir, ancak bu yöntemle hem herbir KısaYol Kodu için link vereceğiniz internet sitesinin adını uzun uzun girmek zorunda kalırsınız hem de ileride bir siteyi listeden çıkardığınızda fonksiyonunuzda daha fazla oynama yapmak durumunda olursunuz. Halbuki, herbir site için 1′den başlayan ve sıralı artan bir benzersiz anahtar tanımlamanız ileride oluşacak muhtemel değişiklikler için size çok büyük kolaylık sağlayabilir.
Kolay kullanım stratejisi ise size, mesajlarınızı ya da sayfalarınızı hazırlarken olabildiğince kolaylık, rahatlık ve dolayısı ile de hız sağlar. Örnek için bir üstteki paragraf kullanılabilir. İnternet sitelerinin adını veya adresini uzun uzun girmektense 1,2,3 ya da google,wp,anf gibi kısaltmalar çok dah kullanışlıdır.
Yenilenmeye açıklık ise adından da anlaşılabileceği gibi hazırladığınız KısaYol Kodları ilerideki muhtemel eklemelere kolaylıkla adapte olabilir bir şekilde hazırlanmalıdır. Yine ilk örnekten yola çıkarsak, internet sitelerinin kısa adlarını kullanarak değişkenler dahilinde hazırlanmış bir KısaYol Kodu sistemi ileride ihtiyaç durumunda 1 satır kod ile yeni eklemelere açık olacaktır.
Genel Yaklaşım
Kısayol Kodlarını kullanmak için temanızın functions.php dosyasına (eğer yoksa oluşturmanız gerekir) gerekli kodları eklemeniz ya da eğer WordPress eklenti yazarıysanız eklentinizin kodlarına dahil etmeniz yeterli olacaktır.
function kisayol_fonksiyonu($attr, $content) {
// $attr, $anahtar=>$deger ikililerini barındıran bir dizi değişkendir
// $content ise kapalı etiketler arasında kalan string tipi bir değişkendir.
}
foksiyonunuzu yukarıdaki şekilde tanımladıktan hemen sonra add_shortcode kodu ile bu fonksiyonu wordpress sisteminize dahil edebilirsiniz.
add_shortcode('etiket', 'kisayol_fonksiyonu');
WordPress’in KısaYol APIsi (ShortCode API) kullanıcıya 4 farklı komut ile KısaYol Kodları üzerinde kontrol imkanı sunar, bunlar;
add_shortcode('etiket', 'fonksiyon_adı'); // Yenibir KısaYol Kodu Eklemek için kullanılır.
remove_shortcode('etiket'); // Varolan bir KısaYol Kodunu Kaldırmak için kullanılır.
remove_all_shortcodes(); // Varolan tüm KısaYol Kodlarını Kaldırmak için kullanılır.
$return = do_shortcode($icerik); // KısYol Kodunu ekrana hiçbirşey yazdırmadan çalıştırır.
Örnek Kodlamalar
Şimdi örnek olması açısından birkaç farklı şekilde KısaYol Kodu geliştirelim.
Örnek 1 ( [etiket] )
function kisayol_ornek1() {
return 'Bu Yazı ANF Yazılım Tarafından Hazırlanmıştır...';
}
add_shortcode('etiket', 'kisayol_ornek1');
Yukarıdaki kodları functions.php dosyasına ekledikten sonra yazınızda herhangi bir yere [etiket] yazarsanız etiket yerine Bu Yazı ANF Yazılım Tarafından Hazırlanmıştır… yazısının yeraldığını görebilirsiniz.
Örnek 2 ( [etiket param="parametre"] )
function kisayol_ornek2($attr) {
return 'Bu Yazı '.$attr['param'].' Yazılım Tarafından Hazırlanmıştır...';
}
add_shortcode('etiket', 'kisayol_ornek2');
Yukarıdaki kodları functions.php dosyasına ekledikten sonra yazınızda herhangi bir yere [etiket param="ANF"] yazarsanız etiket yerine Bu Yazı ANF Yazılım Tarafından Hazırlanmıştır… yazısının yeraldığını görebilirsiniz. Ancak bu sefer ANF kelimesi bir değişken olarak tanımlanmıştır ve ANF yerine yazacağınız herhangi bir değişken adı o değişkenin içerikte gösterilmesini sağlar.
Örnek 3 ( [etiket]içerik[/etiket] )
function kisayol_ornek3($attr, $content) {
return 'Bu Yazı '.$content.' Yazılım Tarafından Hazırlanmıştır...';
}
add_shortcode('etiket', 'kisayol_ornek3');
Yukarıdaki kodları functions.php dosyasına ekledikten sonra yazınızda herhangi bir yere [etiket]ANF[/etiket] yazarsanız etiket yerine Bu Yazı ANF Yazılım Tarafından Hazırlanmıştır… yazısının yeraldığını görebilirsiniz. Yine ANF kelimesi bir değişken olarak tanımlanmıştır ve ANF yerine yazacağınız herhangi bir değişken adı o değişkenin içerikte gösterilmesini sağlar. Bir önceki örnekten tek farkı değişken bir parametre olarak değil içerik olarak fonksiyona dahil edilmiştir.
Örnek 4 ( [etiket param="parametre"]içerik[/etiket] )
function kisayol_ornek4($attr, $content) {
return 'Bu Yazı '.'$content'.' hakkında olup '.$attr['param'].' Yazılım Tarafından Hazırlanmıştır...';
}
add_shortcode('etiket', 'kisayol_ornek4');
Yukarıdaki kodları functions.php dosyasına ekledikten sonra yazınızda herhangi bir yere [etiket param="ANF"]Kısayol Kodları[/etiket] yazarsanız etiket yerine Bu Yazı Kısayol Kodları hakkında olup ANF Yazılım Tarafından Hazırlanmıştır… yazısının yeraldığını görebilirsiniz. Bu sefer, ANF kelimesi bir parametre, KısaYol Kodları kelimesi ise içerik olarak tanımlanmıştır ve her iki değişkende kod içerisinden değiştirilebilir.
NOT 1: Parametre tanımlamalarında kullanacağınız değişkenler küçük harf olmalı (Param1 ya da PARAM1 yerine param1 kullanınız)
NOT 2 : KısaYollar için kullanacağınız etiketler içerisinde parametreleri tek ya da çift tırnak ile belirtebilirsiniz ([etiket param='değer'] ile [etiket param="değer"] aynı etkiyi yaratacaktır)
NOT 3 : Etiket adında boşluk bırakılması sorunlara yol açabilir ([etiket 1] tanımlaması etiketin adını etiket olarak algılayıp, 1 değerini ise $attr = array( 0 => 1) şeklinde etiket için 0(sıfır)’ıncı parametrenin değeri olarak algılayacaktır)
NOT 4 : Kısayol Kodlarının içiçe kullanımı mümkündür ancak dikkatli olunmalıdır ([etiket1][etiket2][/etiket1] kullanımı mümkündür ancak aynı cinsten iki etiketin kapalı etiketler ile içiçe kullanılması sorun teşkil eder – [etiket1][etiket1][/etiket1][/etiket1] gibi).








