Birkaç yıl önce bir müşterim aradı. Emlak sitesi istiyordu her ilanda fiyat, metrekare, oda sayısı, banyo sayısı, kat bilgisi ve bir harita koordinatı gösterilmeliydi. Şehirde 200’den fazla ilan vardı.
“Bunları içerik alanına elle yazabilirsiniz” diyebilirdim. Ama bu hem yöneticinin kabusu olurdu hem de veriler düzensiz kalırdı. Bunun yerine yaklaşık 20 dakika içinde ACF kurdum, alan gruplarını oluşturdum ve müşterinin editörü artık her ilanı bir form doldurur gibi girebiliyordu.
İşte ACF tam olarak bu sorunu çözmek için var.
WordPress’in Sınırı: Başlık ve İçerik
Varsayılan olarak WordPress size bir yazı veya sayfa için iki temel alan sunar: başlık ve içerik.
Blog yazıları için bu yeterlidir. Ama işin karmaşıklaştığı yer tam olarak burası: Ya sattığınız her ürünün farklı teknik özellikleri varsa? Ya her çalışan profilinin unvanı, departmanı ve LinkedIn linki olması gerekiyorsa? Ya da bir etkinlik sitesinde her etkinliğin tarihi, konumu ve kapasitesi kayıt altına alınmalıysa?
Bu bilgileri içerik alanına serbest metin olarak yazmak mümkün ama sürdürülebilir değil. İçerik büyüdükçe kaos başlar.
İşte custom field kavramı tam bu noktada devreye girer.
Custom Field Nedir? Temel Mantık
Custom field (özel alan), bir yazıya veya sayfaya başlık ve içerik dışında ek veri eklemenizi sağlayan yapıdır.
Şöyle düşünün: WordPress’in standart arayüzü bir forma benzer. Bu form size sadece iki alan verir. Custom field ise bu forma yeni satırlar eklemenizi sağlar.
Bir emlak ilanı için örnek:
Alan Adı → Alan Tipi → Değer fiyat → Sayı → 3.500.000 metrekare → Sayı → 120 oda_sayisi → Seçim → 3+1 konum → Google Harita → 41.0082, 28.9784
Bu veriler veritabanında düzenli şekilde saklanır ve tema dosyalarında kolayca çağrılabilir. SEO açısından da kritik arama motorları yapılandırılmış veriyi dağınık metinden çok daha iyi anlar.
WordPress’in kendi içinde temel bir custom field özelliği zaten vardır. Ama kullanımı çok teknik ve arayüzü son derece sınırlıdır.
ACF Nedir? Native Custom Fields’tan Farkı
ACF (Advanced Custom Fields), WordPress için geliştirilmiş ve 2+ milyon aktif kuruluma sahip bir eklentidir. WordPress.org’da en çok indirilen eklentiler arasında yer alan ACF’yi buradan ücretsiz indirebilirsiniz ve 2024’te Torque Plugin Madness yarışmasında kullanıcıların oylarıyla şampiyon seçilmiştir.
ACF’nin yaptığı şey basit ama güçlüdür: WordPress’in ham custom field sistemini, herkesin anlayabileceği görsel bir arayüze dönüştürür.
Native custom field ile karşılaştırma:
Arayüz → Native: Key-value, salt metin / ACF: Görsel form oluşturucu Alan Tipleri → Native: Sadece metin / ACF: 30+ farklı tip Konum Kuralları → Native: Yok / ACF: Detaylı (post type, şablon, rol…) Kod Gerekliliği → Native: Yüksek / ACF: Çok düşük Müşteri Kullanımı → Native: Zor / ACF: Çok kolay
Kısacası: Native custom field geliştiriciler içindir. ACF ise hem geliştiriciler hem de son kullanıcılar için tasarlanmıştır.
ACF ile Hangi Alan Türlerini Kullanabilirsiniz?
ACF’nin gücünün büyük kısmı sunduğu alan tipi çeşitliliğinden gelir.
Temel alanlar (Ücretsiz sürümde):
- Text / Textarea – Kısa veya uzun metin girişi
- Number – Sayısal veri (fiyat, kapasite, yıl)
- Image / File – Görsel veya dosya yükleme
- Select / Radio / Checkbox – Seçim kutuları
- True / False – Açık/kapalı toggle
- Date Picker – Tarih seçici
- Google Map – Harita koordinatı
- Relationship – İki içerik arasında ilişki kurma
- User – Kullanıcı seçimi
Gelişmiş alanlar (PRO sürümde):
- Repeater — Tekrarlanabilir alan grupları
- Flexible Content — Farklı blok düzenleri
- Gallery — Çoklu görsel galerisi
- Clone — Mevcut alanları yeniden kullanma
Bu alan tipleri sayesinde neredeyse her türlü içerik yapısı ACF ile modellenebilir.
Gerçek Proje Örnekleri
Teoriden ziyade pratikte ne işe yaradığını görmek daha açıklayıcı olur. İşte gerçek projelerde ACF’yi nasıl kullandığımın birkaç örneği:
Emlak Sitesi
Her ilan için standart WordPress alanları yetersiz kalır. ACF ile şu alanlar tanımlanır:
- fiyat → Number (₺ formatında)
- metrekare → Number
- oda_sayisi → Select (1+0, 2+1, 3+1…)
- isitma_tipi → Radio (Kombi, Merkezi, Yerden Isıtma)
- koordinat → Google Map
- fotograf_galerisi → Gallery (PRO)
Editör her yeni ilan eklerken bu alanları tek tek doldurur. Tasarım şablonu değişse bile veriler güvende kalır çünkü içerik ile sunum birbirinden ayrılmış olur.
Restoran Menüsü — Repeater’ın Gücü
Bir restoran sitesinde menüdeki her yemek için; yemek adı, açıklaması, fiyatı ve görseli gerekir. Üstelik haftalık menü değişebilir.
ACF’nin Repeater alanı burada devreye girer. Tek bir “Menü” alan grubu oluşturulur ve her yemek için tekrarlayan alt alanlar tanımlanır:
Menü (Repeater) └── yemek_adi (Text) └── aciklama (Textarea) └── fiyat (Number) └── gorsel (Image)
Restoran sahibi her hafta sadece bu alanları günceller — PHP veya HTML bilmesine gerek yoktur.
Kurumsal Firma — Çalışan Profilleri
7 yıl boyunca üzerinde çalıştığım en yaygın proje türlerinden biri kurumsal web siteleridir. “Ekibimiz” sayfası için her çalışanın unvanı, departmanı, biyografisi ve fotoğrafı ayrı ayrı yönetilmeli — ve HR departmanı bunu kendisi güncelleyebilmeli.
ACF ile calisan adında bir Custom Post Type oluşturulur, ardından alan grubu bağlanır:
- unvan → Text
- departman → Select
- biyografi → Textarea
- profil_foto → Image
- linkedin → URL
İK ekibi WordPress panelinden bu formu doldurur; geliştirici hiçbir şeye dokunmaz.
Çok Dilli Liman Yönetim Sistemi
Daha büyük ölçekli bir projede 25 farklı limana ait kurumsal siteyi tek bir WordPress Multisite üzerinde yönetmek gerekti. Her liman için teknik kapasite bilgileri, rıhtım uzunlukları ve konum koordinatları tanımlandı. ACF burada veritabanı gibi davrandı — her site aynı şablonu kullandı, ama farklı verilerle.
ACF Ücretsiz vs PRO: Fark Ne?
Pek çok geliştirici ve müşterinin sorduğu soru şudur: Ücretsiz sürüm yeterli mi?
Ücretsiz sürüm şunları kapsar:
- 30’dan fazla temel alan tipi
- Sınırsız alan grubu
- Konum kuralları (post type, sayfa, kullanıcı rolü)
- Temel API (get_field, the_field)
PRO sürümünde ek olarak şunlar gelir:
Repeater → Tekrarlayan alan grupları → Ne zaman lazım: Menü, ekip, özellik listesi Flexible Content → Farklı blok düzenleri → Ne zaman lazım: Sayfa oluşturucu alternatifleri Gallery → Çoklu görsel yönetimi → Ne zaman lazım: Portföy, ürün galerileri ACF Blocks → Gutenberg blok geliştirme → Ne zaman lazım: Modern tema geliştirme Clone → Alanları yeniden kullanma → Ne zaman lazım: Büyük, karmaşık projeler
Öneri: Küçük ve orta ölçekli projeler için ücretsiz sürüm çoğunlukla yeterlidir. Ticari projeler, portföy siteleri veya e-ticaret entegrasyonları için PRO’ya yatırım yapmak zaman içinde kendini fazlasıyla karşılar.
PRO lisansı yıllık yaklaşık 49 USD’den başlar. Tek kişilik bir freelance proje için bile bu maliyet makuldür.
Temada Nasıl Kullanılır? get_field Örneği
ACF’yi kurup alanları tanımladıktan sonra bu verileri tema dosyasında göstermek gerekir. İki temel fonksiyon vardır:
get_field() → Veriyi döndürür, ekrana basmaz:
php
$fiyat = get_field('fiyat');
echo '₺' . number_format($fiyat, 0, ',', '.');
the_field() → Veriyi doğrudan ekrana basar:
php
<h2><?php the_field('unvan'); ?></h2>
<p><?php the_field('departman'); ?></p>
Görsel alanı için:
php
$foto = get_field('profil_foto');
if ($foto) {
echo '<img src="' . esc_url($foto['url']) . '" alt="' . esc_attr($foto['alt']) . '">';
}
Repeater alanı için döngü:
php
if (have_rows('menu_items')) {
while (have_rows('menu_items')) {
the_row();
$ad = get_sub_field('yemek_adi');
$fiyat = get_sub_field('fiyat');
echo '<p>' . esc_html($ad) . ' — ₺' . esc_html($fiyat) . '</p>';
}
}
Alan adlarını ACF arayüzünde tanımlarken küçük harf ve alt çizgi kullanmak (yemek_adi, profil_foto) bu aşamayı çok kolaylaştırır. Türkçe karakter veya boşluk kullanmaktan kaçının.
ACF Ne Zaman Kullanmamalısınız?
ACF güçlü bir araçtır — ama her proje için doğru seçim olmayabilir.
ACF gerekmeyebilir:
- Sadece blog yazıları ve standart sayfalardan oluşan basit siteler
- İçeriğin %90’ı tek bir alan (metin) olan projeler
- WooCommerce kullanan e-ticaret siteleri WooCommerce hızlandırma konusunu ayrıca ele aldım.
ACF’nin dikkat edilmesi gereken sınırları:
- Performans: Çok sayıda alan veritabanı sorgularını artırır. 50’den fazla alan grubu olan projelerde performans takibi şarttır.
- Veri taşınabilirliği: ACF verilerini başka bir CMS’e taşımak zahmetli olabilir. Uzun vadeli platform değişikliği planlanıyorsa bu göz önünde bulundurulmalıdır.
- Bağımlılık: Eklenti devre dışı bırakılırsa veriler veritabanında kalır ama tema dosyalarında hatalar oluşur. ACF’yi bir projeye entegre ettiğinizde uzun vadeli taahhüt veriyorsunuz demektir.
Bu sınırları bilerek kullandığınızda ACF, WordPress geliştirmenin en değerli araçlarından biri olmaya devam eder.
Sık Sorulan Sorular
ACF ücretsiz mi? ACF’nin temel sürümü tamamen ücretsizdir ve WordPress eklenti dizininden indirilebilir. Repeater, Flexible Content ve ACF Blocks gibi gelişmiş özellikler için ACF PRO sürümü gerekir; yıllık lisans yaklaşık 49 USD’den başlar.
ACF verileri veritabanında nerede saklanır? ACF, verilerini standart WordPress meta tablolarında saklar. Sayfa ve yazı alanları wp_postmeta tablosuna, kullanıcı alanları wp_usermeta tablosuna yazılır. Bu sayede herhangi bir WordPress aracı bu verilere erişebilir.
ACF ile Elementor birlikte kullanılabilir mi? Evet. Elementor Pro’nun Dynamic Content özelliği ile ACF alanları sayfaya doğrudan bağlanabilir. Özellikle Custom Post Type ile birlikte kullanıldığında iki araç birbirini mükemmel tamamlar.
ACF mi, JetEngine mi kullanmalıyım? Kod yazabilen geliştiriciler için ACF daha esnek ve hafiftir. Elementor ağırlıklı, kodsuz çalışmak isteyenler için JetEngine daha uygun olabilir. Proje gereksiniminize ve çalışma stilinize göre karar verin.
ACF performansı etkiler mi? Aşırı sayıda ACF alanı veritabanı sorgularını artırarak sayfa hızını etkileyebilir. 50’den fazla alan grubunuz varsa alan sayısını optimize edin; gerektiğinde transient cache kullanın.
Sonuç
ACF, WordPress’i gerçek bir içerik yönetim sistemine dönüştüren araçların başında gelir. Emlak ilanından restoran menüsüne, çalışan profilinden çok dilli kurumsal sitelere kadar sayısız projede doğru veriyi doğru formatta yönetmeyi sağlar.
7 yıllık WordPress geliştirme deneyimimde ACF’nin olmadığı bir profesyonel projeyi neredeyse hayal edemiyorum. Ücretsiz sürümü küçük projeleri çözer; PRO ise orta ve büyük ölçekli işlerde vazgeçilmez hale gelir.
Projenizde ACF kurulumu, alan tasarımı veya tema entegrasyonu konusunda yardıma ihtiyaç duyarsanız ardakaragozoglu.com adresinden benimle iletişime geçebilirsiniz.