- Konu sahibi
- #1
WordPress özel alanlar, bir yazı veya sayfaya başlık ve içerik dışında ek bilgi kaydetmek için kullanılır. Örneğin
Özel alan özelliği, düzenlediğiniz yazı veya sayfaya bağlı çalışır. Kullandığınız editör ya da tema bu bölümü gizleyebilir. Düzenleme ekranında özel alanlar bölümü görünmüyorsa önce ekran seçeneklerini veya editör ayarlarını kontrol edin; ilgili bölüm yine yoksa alanı bir eklentiyle ya da kodla oluşturmanız gerekir.
Anahtar adı her yazıda aynı olmalıdır.
Blok düzenleyicide Özel alanlar, tercihlerdeki panel ayarından açılabilir; Classic Editor’da Ekran Tercihleri kullanılır. Özel yazı türü için custom-fields desteği gerekebilir. REST API ile alan yazdırmak için register_post_meta ile şema, show_in_rest ve uygun auth/sanitize kuralları ayrıca tanımlanır; adın başına alt çizgi koymak tek başına erişim kontrolü değildir.
Özel alanın görünmesi için onu okuyan bir kod gerekir. Aşağıdaki tam örnek,
Uygulamak için şu sırayı izleyin:
Beklenen sonuç, özel alan değerinin yazı içinde gösterilmesidir. Hiçbir şey görünmüyorsa önce anahtar adının birebir aynı olduğunu ve alanın gerçekten kaydedildiğini kontrol edin. Kısa kod metin olarak görünüyorsa kodun etkin temaya veya çalışan bir eklentiye eklenmediğini kontrol edin. Değerde HTML kullanmanız gerekiyorsa
Özel alanın nerede ve nasıl kullanılacağı, verinin amacına göre değişir:
Örneğin ürünlerde fiyat, stok veya teknik özellik gibi alanlar kullanılabilir; ancak bu değerleri yazının içinde yalnızca düz metin olarak tekrar etmek yerine, temanın ürün şablonunda göstermek daha tutarlı olur. Aynı alanı onlarca yazıda kullanacaksanız anahtar adını baştan belirleyin ve değer biçimini sabit tutun. Bir yazıda
Alan artık kullanılmıyorsa onu okuyan şablon/kısa kod kullanımını da gözden geçirin. Okuma kodunu kaldırmak eski post meta kayıtlarını kendiliğinden silmez; veri saklama veya dar kapsamlı kaldırma ihtiyacını yedekle birlikte ayrıca değerlendirin.
urun_fiyati, etkinlik_tarihi veya kisa_aciklama gibi bir anahtar oluşturup değerini yazıya bağlayabilirsiniz. Bu değerler post meta olarak saklanır; tek başına sayfada görünmez, tema veya eklenti tarafından okunup gösterilmelidir.Yönetim panelinden özel alan ekleme
Özel alan özelliği, düzenlediğiniz yazı veya sayfaya bağlı çalışır. Kullandığınız editör ya da tema bu bölümü gizleyebilir. Düzenleme ekranında özel alanlar bölümü görünmüyorsa önce ekran seçeneklerini veya editör ayarlarını kontrol edin; ilgili bölüm yine yoksa alanı bir eklentiyle ya da kodla oluşturmanız gerekir.
- Bir yazı veya sayfa düzenleme ekranını açın.
- Özel alanlar bölümünde yeni bir alan oluşturun.
- Anahtar kısmına, örneğin
kisa_aciklamayazın. - Değer kısmına o yazıya ait bilgiyi girin; örneğin
Bu ürün pamuklu kumaştan üretilmiştir. - Yazıyı güncelleyin veya yayımlayın.
Anahtar adı her yazıda aynı olmalıdır.
kisa_aciklama ile kisa-aciklama farklı alanlardır. Alanı yalnızca bir yazıda kullanırsanız o yazıya özel kalır; aynı anahtarı başka yazılara da eklerseniz her yazı kendi değerini taşıyabilir.Blok düzenleyicide Özel alanlar, tercihlerdeki panel ayarından açılabilir; Classic Editor’da Ekran Tercihleri kullanılır. Özel yazı türü için custom-fields desteği gerekebilir. REST API ile alan yazdırmak için register_post_meta ile şema, show_in_rest ve uygun auth/sanitize kuralları ayrıca tanımlanır; adın başına alt çizgi koymak tek başına erişim kontrolü değildir.
Özel alanı içerikte göstermek
Özel alanın görünmesi için onu okuyan bir kod gerekir. Aşağıdaki tam örnek,
functions.php dosyasına veya tercihen alt temanızın ilgili dosyasına eklenir. kisa_aciklama alanını okur ve içerikte [ozel_aciklama] kısa kodu kullanılan yerde gösterir.
Kod:
add_shortcode( 'ozel_aciklama', function () {
$post_id = get_the_ID();
if ( ! $post_id || post_password_required( $post_id ) ) {
return '';
}
$deger = get_post_meta( $post_id, 'kisa_aciklama', true );
if ( ! is_scalar( $deger ) || $deger === '' ) {
return '';
}
return '<p class="ozel-aciklama">' . esc_html( (string) $deger ) . '</p>';
} );
Uygulamak için şu sırayı izleyin:
- Kodu alt temanızın
functions.phpdosyasına ekleyin. Tema dosyası düzenleyicisi kullanmak yerine dosyayı yedekleyerek veya kontrollü bir geliştirme ortamında değiştirmek daha güvenlidir. - Bir yazıya
kisa_aciklamaanahtarını ve bir değerini ekleyin. - Aynı yazının içerisine
[ozel_aciklama]kısa kodunu yerleştirin. - Yazıyı görüntüleyin. Alan doluysa değer, kısa kodun bulunduğu konumda paragraf olarak görünür.
Beklenen sonuç, özel alan değerinin yazı içinde gösterilmesidir. Hiçbir şey görünmüyorsa önce anahtar adının birebir aynı olduğunu ve alanın gerçekten kaydedildiğini kontrol edin. Kısa kod metin olarak görünüyorsa kodun etkin temaya veya çalışan bir eklentiye eklenmediğini kontrol edin. Değerde HTML kullanmanız gerekiyorsa
esc_html() yerine gelişigüzel bir çıktı yöntemi kullanmayın; izin verilen etiketleri ayrıca belirleyerek güvenli biçimde süzmek gerekir.Hangi yöntemi seçmelisiniz?
Özel alanın nerede ve nasıl kullanılacağı, verinin amacına göre değişir:
| İhtiyaç | Uygun yöntem | Neden |
|---|---|---|
| Tek bir yazıya küçük bir ek bilgi | Yerleşik özel alan | Basit ve ek kod gerektirmeden veri saklanır |
| Okuyucunun düzenli olarak göreceği bilgi | Tema şablonu veya kısa kod | Değerin belirli bir yerde tutarlı gösterilmesini sağlar |
| Birden fazla alan, seçim kutusu veya medya | Özel alan eklentisi | Yönetim ekranında daha anlaşılır giriş imkânı verir |
| Listeleme ve filtreleme gerektiren veri | Yapılandırılmış içerik çözümü | Sadece serbest metin alanlarına göre daha düzenli yönetilir |
Örneğin ürünlerde fiyat, stok veya teknik özellik gibi alanlar kullanılabilir; ancak bu değerleri yazının içinde yalnızca düz metin olarak tekrar etmek yerine, temanın ürün şablonunda göstermek daha tutarlı olur. Aynı alanı onlarca yazıda kullanacaksanız anahtar adını baştan belirleyin ve değer biçimini sabit tutun. Bir yazıda
2026-11-07, diğerinde serbest biçimli bir tarih kullanmak ileride sıralama ve filtreleme sorunlarına yol açabilir.Sık yapılan hatalar
- Özel alanı kaydetmenin otomatik olarak sayfada görünmesini beklemek.
- Anahtar adını yazılar arasında farklılaştırmak.
- Boş değerleri kontrol etmeden boş HTML kutuları üretmek.
- Kullanıcı tarafından girilen değeri çıktılamadan doğrudan HTML kabul etmek.
- Çok sayıda bağımsız alanı tek bir uzun metin içinde tutup sonradan ayırmaya çalışmak.
Alan artık kullanılmıyorsa onu okuyan şablon/kısa kod kullanımını da gözden geçirin. Okuma kodunu kaldırmak eski post meta kayıtlarını kendiliğinden silmez; veri saklama veya dar kapsamlı kaldırma ihtiyacını yedekle birlikte ayrıca değerlendirin.