WordPress, dünyadaki milyonlarca web sitesine güç veren harika bir içerik yönetim sistemidir. Kullanıcı dostu arayüzü ve esnek yapısıyla öne çıkar. Bu esnekliği sağlayan en güçlü özelliklerden biri de "shortcode" yani kısa kodlardır. Kısa kodlar, karmaşık işlemleri veya içerik bloklarını köşeli parantezler içinde yer alan basit bir etiketle çağırmanıza olanak tanır. Örneğin, [galeri] gibi bir kodla yazınıza kolayca bir resim galerisi ekleyebilirsiniz. Bu yazıda, kendi özel kısa kodlarınızı nasıl oluşturabileceğinizi ve WordPress sitenizi nasıl daha işlevsel hale getirebileceğinizi öğreneceksiniz. Bu yolculuk, web sitenizin kontrolünü tamamen elinize almanız için size harika kapılar açacak!
WordPress Shortcode Nedir ve Neden Kullanılır?
En basit tanımıyla shortcode, WordPress'e özel bir komut veren sihirli bir kelimedir. Siz yazınıza [benim_kodum] gibi bir ifade eklediğinizde, WordPress arka planda bu komutla ilişkili bir dizi işlemi çalıştırır ve sonucunu sayfanızda gösterir. Bu, sürekli tekrarlanan içerik parçalarını veya karmaşık HTML kodlarını her seferinde yeniden yazma zahmetinden sizi kurtarır.
Peki, neden kendi kısa kodunuzu oluşturmalısınız? İşte birkaç harika neden:
- Zaman Tasarrufu: Özellikle sık kullandığınız bir düğme, uyarı kutusu veya iletişim bilgisi gibi öğeleri tek bir kısa kodla saniyeler içinde ekleyebilirsiniz.
- Tutarlılık: Sitenizin farklı sayfalarında aynı öğenin (örneğin bir "Hemen Ara" butonu) her zaman aynı stilde ve yapıda görünmesini sağlar.
- Kullanım Kolaylığı: Karmaşık kodları bilmeyen kullanıcılar bile, sizin oluşturduğunuz basit kısa kodları kullanarak gelişmiş içerikler ekleyebilir.
- Kod Temizliği: Yazı editörünüzü uzun ve karmaşık HTML/CSS kodlarıyla doldurmak yerine, temiz ve okunaklı kısa kodlar kullanırsınız.
Temel Bir Shortcode Nasıl Oluşturulur?
Kendi kısa kodunuzu oluşturmak ilk başta gözünüzü korkutmasın. Aslında oldukça basit bir mantığa dayanır. WordPress, bu işlem için bize `add_shortcode()` adında bir fonksiyon sunar. Bu fonksiyon, iki temel bilgiye ihtiyaç duyar: kısa kodun adı ve bu kod çağrıldığında çalışacak olan fonksiyon.
Bu kodları eklemek için en güvenli ve doğru yöntem, siteniz için özel bir eklenti oluşturmaktır. Ancak başlangıç için temanızın (tercihen alt tema - child theme) `functions.php` dosyasını da kullanabilirsiniz. Bu dosya, WordPress sitenizin temel işlevlerini barındıran bir PHP dosyasıdır. WordPress'in temelini oluşturan PHP dili hakkında daha fazla bilgi edinmek isterseniz, PHP ile neler yapılabilir başlıklı kapsamlı rehberimize göz atabilirsiniz.
Örneğin, sitenize her zaman güncel yılı gösteren bir kısa kod ekleyelim. Kısa kodumuzun adı `[guncel_yil]` olsun.
// [guncel_yil] kısa kodunu oluşturan fonksiyon
function guncel_yil_fonksiyonu() {
return date('Y'); // Mevcut yılı döndürür
}
// Yeni kısa kodu WordPress'e tanıtma
add_shortcode('guncel_yil', 'guncel_yil_fonksiyonu');
Bu kodu `functions.php` dosyanıza ekledikten sonra, herhangi bir yazı veya sayfanın içine `[guncel_yil]` yazdığınızda, o kısımda otomatik olarak mevcut yıl (örneğin, 2025) görünecektir. Burada en önemli nokta, kısa kod fonksiyonunuzun içeriği kesinlikle `echo` değil, `return` ile döndürmesi gerektiğidir. `echo` kullanmak, içeriğin sayfanın en üstünde, beklenmedik bir yerde çıkmasına neden olabilir.
Parametreli (Attributes) Shortcode Geliştirme
Kısa kodların asıl gücü, onlara parametreler (İngilizce: attributes veya kısaca atts) ekleyerek onları daha dinamik ve esnek hale getirdiğimizde ortaya çıkar. Parametreler, kısa kodun davranışını özelleştirmemizi sağlar.
Örneğin, kullanıcıyı farklı linklere yönlendirebilen ve metni değiştirilebilen bir `[ozel_buton]` kısa kodu oluşturalım. Kullanımı şöyle olabilir: `[ozel_buton link="https://www.google.com" metin="Google'a Git"]`.
Bunu yapmak için `add_shortcode` ile çağırdığımız fonksiyona `$atts` adında bir parametre ekleriz. WordPress, kullanıcı tarafından girilen tüm parametreleri bu değişkene bir dizi olarak gönderir.
function ozel_buton_fonksiyonu($atts) {
// Varsayılan parametre değerlerini belirliyoruz
$a = shortcode_atts(array(
'link' => '#', // Eğer link belirtilmezse # kullanılır
'metin' => 'Daha Fazla Bilgi'
), $atts);
// Butonun HTML kodunu oluşturuyoruz
return '<a href="' . esc_url($a['link']) . '" class="my-custom-button">' . esc_html($a['metin']) . '</a>';
}
add_shortcode('ozel_buton', 'ozel_buton_fonksiyonu');
Bu kodda `shortcode_atts()` fonksiyonu, kullanıcı tarafından girilen parametreleri bizim belirlediğimiz varsayılan değerlerle birleştirir. Eğer kullanıcı bir parametreyi girmezse, varsayılan değer kullanılır. `esc_url()` ve `esc_html()` gibi fonksiyonlar ise güvenlik için kullanılır ve girilen verileri temizler.
Parametre Tablosu
Oluşturduğumuz `[ozel_buton]` kısa kodunun kullanabileceği parametreler şunlardır:
| Parametre | Açıklama | Varsayılan Değer |
|---|---|---|
| link | Butonun yönlendireceği URL adresi. | # |
| metin | Butonun üzerinde yazacak olan metin. | Daha Fazla Bilgi |
İçerik Saran (Enclosing) Shortcode Oluşturma
Bazı durumlarda, bir içeriği kısa kod etiketleri arasına almak isteyebilirsiniz. Örneğin, bir metni özel bir uyarı kutusu içinde göstermek gibi: `[uyari]Bu çok önemli bir bilgidir.[/uyari]`.
Bu tür "saran" kısa kodları oluşturmak için fonksiyonumuza `$atts`'ın yanına bir de `$content` adında ikinci bir parametre ekleriz. `$content` değişkeni, açılış ve kapanış etiketleri arasındaki her şeyi içerir.
function uyari_kutusu_fonksiyonu($atts, $content = null) {
// Varsayılan parametreleri ayarlayalım, mesela kutunun türünü belirleyelim
$a = shortcode_atts(array(
'tip' => 'bilgi' // 'bilgi', 'basari', 'hata' gibi türler olabilir
), $atts);
// İçeriği alıp özel bir div içine yerleştirelim
return '<div class="uyari-kutusu ' . esc_attr($a['tip']) . '">' . do_shortcode($content) . '</div>';
}
add_shortcode('uyari', 'uyari_kutusu_fonksiyonu');
Bu örnekte, `[uyari]` ve `[/uyari]` etiketleri arasına yazdığınız her şey, `uyari-kutusu` sınıfına sahip bir `div` içine alınır. Ayrıca, `tip` adında bir parametre ekleyerek kutunun stilini de değiştirebilirsiniz: `[uyari tip="hata"]Bir sorun oluştu.[/uyari]`. `do_shortcode($content)` kullanımı ise saran içeriğin içinde başka kısa kodlar varsa onların da çalıştırılmasını sağlar.
Sonuç
WordPress shortcode geliştirme, sitenize özel işlevler katmanın ve içerik yönetimini kolaylaştırmanın en etkili yollarından biridir. Bu rehberde öğrendiğiniz temel bilgilerle artık kendi basit ve parametreli kısa kodlarınızı oluşturmaya başlayabilirsiniz. Unutmayın, pratik yapmak en iyi öğretmendir. Farklı fikirler deneyerek ve resmî WordPress Geliştirici dokümantasyonunu inceleyerek bilginizi daha da ileriye taşıyabilirsiniz. Hayal gücünüzü kullanarak sitenizi daha dinamik ve kullanıcı dostu bir hale getirin!
Sık Sorulan Sorular
1. Kısa kodlarımı temamın `functions.php` dosyasına mı yoksa özel bir eklentiye mi eklemeliyim?
Kodlarınızı `functions.php` dosyasına eklemek daha hızlı bir çözüm olsa da, uzun vadede en iyi pratik, bu kodlar için özel bir eklenti oluşturmaktır. Bu sayede, temanızı değiştirdiğinizde veya güncellediğinizde özel kısa kodlarınızı kaybetmezsiniz.
2. Oluşturduğum kısa kod sitemi yavaşlatır mı?
Eğer kısa kodunuzun fonksiyonu veritabanından çok fazla sorgu yapıyor veya karmaşık işlemler gerçekleştiriyorsa, sayfa yüklenme hızını bir miktar etkileyebilir. Bu nedenle, kısa kod fonksiyonlarınızı olabildiğince verimli ve hızlı çalışacak şekilde yazmak önemlidir.
3. Kısa kodumun çıktısında HTML ve CSS kullanabilir miyim?
Evet. Kısa kod fonksiyonunuz bir metin (string) döndürdüğü sürece, bu metnin içinde istediğiniz gibi HTML etiketleri kullanabilirsiniz. CSS stillerini de `style` attribute'u ile doğrudan ekleyebilir veya temanızın stil dosyasına yazdığınız sınıfları HTML etiketlerinize atayabilirsiniz.
4. Gutenberg (Blok Düzenleyici) varken kısa kodlar hala önemli mi?
Evet, hala çok önemliler. Gutenberg, içerik oluşturmak için harika bloklar sunsa da, bazı durumlarda kısa kodlar daha pratik olabilir. Özellikle, sitenin farklı yerlerinde tekrar tekrar kullanılacak küçük ve dinamik içerik parçaları (örneğin, iletişim bilgisi, sosyal medya butonu) için kısa kodlar idealdir. Ayrıca, mevcut binlerce eklenti hala temel işlevleri için kısa kodları kullanmaktadır.
5. Kısa kodumu içeren eklentiyi veya temayı devre dışı bırakırsam ne olur?
Eğer kısa kodu tanımlayan kod (eklentide veya temada) artık aktif değilse, WordPress bu kodu yorumlayamaz. Sonuç olarak, sitenizin içeriğinde `[benim_kodum]` gibi ham kısa kod metni görünür.
6. Kısa kodların içinde başka kısa kodlar kullanabilir miyim?
Evet, kullanabilirsiniz. Ancak bunun çalışması için, dıştaki kısa kodun fonksiyonunda içeriği işlerken `do_shortcode()` fonksiyonunu kullanmanız gerekir. Örneğimizdeki `return '<div>' . do_shortcode($content) . '</div>';` satırı tam olarak bu işe yarar.
