WordPress

    ACF (Advanced Custom Fields) ile Ozel Alanlar Ekleme

    ACF ile WordPress icerigine ozel alanlar ekleyip gosterme

    14 dk okuma Güncellendi: 10 Temmuz 2026

    WordPress'in yazı ve sayfa editörü, bir başlık ile büyük bir metin kutusundan ibarettir. Bu yapı bir blog yazısı için yeterlidir; ama gerçek dünyadaki içerikler nadiren tek bir metin bloğundan oluşur. Bir emlak ilanı sayfası düşünün: metin gövdesinin yanında metrekare, oda sayısı, fiyat, konum, cephe yönü ve birkaç fotoğraf gibi yapılandırılmış bilgiler barındırır. Bir personel profili sayfası unvan, e-posta, sosyal medya bağlantıları ister. Bir ürün sayfası marka, garanti süresi, teknik özellik tablosu gerektirir. Bu bilgileri düz metin gövdesinin içine gömdüğünüzde ne düzgün listeleyebilir, ne filtreleyebilir, ne de tema içinde tutarlı biçimde gösterebilirsiniz.

    İşte tam bu noktada "özel alanlar" (custom fields) devreye girer. Özel alanlar, bir içeriğe gövde metninin dışında ek veri parçaları eklemenizi sağlar. WordPress bu özelliği çekirdekte ilkel bir biçimde sunar, ama arayüzü sade bir anahtar-değer listesinden ibarettir ve gerçek projelerde kullanışsız kalır. Advanced Custom Fields (kısaca ACF), bu ilkel altyapının üzerine profesyonel bir katman koyar: editöre resim seçici, tarih seçici, açılır liste, tekrarlayan satırlar ve ilişki kutuları gibi zengin alanlar eklemenizi, sonra bu değerleri temada birkaç satırlık PHP ile çekmenizi sağlar. Bu rehberde ACF'nin mantığını, alan grubu oluşturmayı, konum kurallarını, en çok kullanılan alan tiplerini ve değerleri temada gösterme yöntemlerini kıdemli bir yönetici gözünden, uygulamalı örneklerle ele alacağız.

    Ozel Alanlar Ne Ise Yarar#

    Özel alanlar, WordPress'te bir içeriğe (yazı, sayfa, kullanıcı, taksonomi terimi) bağlı "meta veri" saklamanın yoludur. Teknik olarak WordPress bu verileri wp_postmeta tablosunda anahtar-değer çiftleri hâlinde tutar. Her satır bir post_id, bir meta_key ve bir meta_value içerir. Örneğin bir emlak ilanının fiyatı emlak_fiyat = 2450000 gibi bir satır olarak saklanır. Gövde metninden ayrı olduğu için bu değeri istediğiniz yerde, istediğiniz biçimde gösterebilir; hatta ona göre sıralama ve filtreleme yapabilirsiniz.

    Çekirdek WordPress'in sunduğu özel alan arayüzü (editörde "Özel Alanlar" panelini açtığınızda görürsünüz) yalnızca serbest metin girdisi kabul eder. Yani bir tarih alanı isteseniz bile kullanıcı elle "2026-01-15" yazmak zorundadır; yanlış format girildiğinde bunu engelleyecek bir mekanizma yoktur. Bir resim eklemek isterseniz medya kütüphanesinden resmin ID'sini bulup elle yazmanız gerekir. Bu, içerik editörleri için kullanılamayacak kadar hataya açık bir deneyimdir.

    ACF bu deneyimi tamamen dönüştürür. Alanları görsel bir arayüzle tanımlarsınız; editör de bunları uygun kontrol elemanlarıyla (takvim, dosya seçici, renk paleti, açık-kapalı anahtarı) doldurur. Böylece içerik ekibi kod veya veritabanı bilgisi olmadan yapılandırılmış veri girer, siz de geliştirici olarak bu verilerin her zaman doğru tipte ve tutarlı olduğundan emin olursunuz. WordPress'te profesyonel içerik modelleri kurmanın fiilî standardı hâline gelmesinin nedeni budur.

    Şunu netleştirmekte fayda var: ACF veriyi göstermez, yalnızca girmeyi ve okumayı kolaylaştırır. Alanları oluşturursunuz, editör doldurur, siz de temada bu değerleri çağırıp HTML içinde konumlandırırsınız. Yani ACF ile tema arasındaki iş bölümü nettir; eklenti veriyi yönetir, tema sunumdan sorumludur. Doğru eklenti kombinasyonu kurarken bu ayrımı korumak, ilerideki bakımınızı büyük ölçüde kolaylaştırır. Genel eklenti stratejisi için WordPress eklenti önerileri rehberimize de göz atabilirsiniz.

    ACF Kurulumu ve Ilk Adimlar#

    ACF'yi kurmak diğer WordPress eklentileriyle aynıdır. Yönetim panelinde Eklentiler bölümünden "Advanced Custom Fields" araması yapıp kurabilir ya da WP-CLI kullanıyorsanız tek komutla halledebilirsiniz:

    # Ucretsiz surumu deponun uzerinden kur ve etkinlestir
    wp plugin install advanced-custom-fields --activate
    
    # Kurulu surumu ve durumu dogrula
    wp plugin list --name=advanced-custom-fields
    

    Ücretsiz sürüm (ACF) çoğu projenin ihtiyacını fazlasıyla karşılar: metin, sayı, resim, dosya, seçim, ilişki gibi temel alan tiplerinin tamamı içindedir. Ücretli sürüm (ACF PRO) ise Repeater (tekrarlayıcı), Flexible Content (esnek içerik) ve ACF Blocks (Gutenberg blokları) gibi ileri düzey özellikleri açar. Bir proje planlarken tekrarlayan satır yapıları veya özel bloklar kuracaksanız baştan PRO'yu hesaba katmanız işinizi kolaylaştırır; bu rehberde her ikisine de değineceğiz.

    Kurulumdan sonra yönetim menüsünde yeni bir "ACF" (bazı sürümlerde "Custom Fields") başlığı belirir. Tüm alan gruplarınızı buradan yönetirsiniz. Çalışmaya başlamadan önce iki kavramı ayırt etmek önemlidir. Alan grubu (field group), birbiriyle ilişkili alanları bir arada tutan kutudur; örneğin "İlan Bilgileri" bir grup olabilir. Alan (field) ise grubun içindeki tek tek veri girişleridir; "Fiyat", "Oda Sayısı", "Fotoğraflar" gibi. Bir grup, editörde tek bir meta kutu (meta box) olarak görünür.

    Alanlarınızı isimlendirirken tutarlı bir kural benimseyin. ACF, alan için hem bir "Etiket" (editörün gördüğü başlık) hem de bir "Alan Adı" (kodda kullanacağınız anahtar) ister. Alan adlarını snake_case biçiminde ve bir ön ekle (emlak_fiyat, emlak_oda_sayisi gibi) tutmak, ileride başka eklentilerin meta anahtarlarıyla çakışmayı önler ve kodda hangi alanın hangi gruba ait olduğunu okunur kılar.

    Alan Grubu Olusturma ve Konum Kurallari#

    Yeni bir alan grubu oluşturmak için ACF menüsünden "Ekle" deyip gruba bir isim verirsiniz, ardından alanları tek tek eklersiniz. Her alan için en az üç şey belirlersiniz: görünen etiket, kod tarafındaki alan adı ve alan tipi. İsteğe bağlı olarak "zorunlu mu", "varsayılan değer", "yönerge metni" ve tipe özel ayarlar (örneğin resim alanı için döndürülecek format) da tanımlarsınız.

    Bir alan grubunun asıl gücü, konum kuralları (location rules) ile nerede görüneceğini hassasça kontrol edebilmenizdir. Grup her yerde belirmez; yalnızca sizin belirlediğiniz koşullar karşılandığında ilgili editörde görünür. Konum kuralları "eğer/ve/veya" mantığıyla çalışır. En sık kullanılan senaryolar şunlardır:

    Koşul türüÖrnek kuralSonuç
    Yazı türüYazı türü eşittir SayfaGrup yalnızca sayfalarda görünür
    Özel yazı türüYazı türü eşittir emlakGrup yalnızca emlak kayıtlarında görünür
    Sayfa şablonuSayfa şablonu eşittir İletişimYalnızca o şablonu kullanan sayfalarda
    Kullanıcı rolüGiriş yapan kullanıcı EditörAlanı yalnızca editörler düzenler
    TaksonomiKategori eşittir KampanyaO kategorideki içeriklerde

    Konum kuralları sayesinde tek bir grubu doğru yerde tutar, gereksiz meta kutuların editörü kalabalıklaştırmasını önlersiniz. Örneğin "İlan Bilgileri" grubunu yalnızca emlak özel yazı türüne bağlarsanız, normal blog yazılarında bu kutu hiç görünmez. Birden fazla kural satırını "ve" ile bağlayarak daha dar (hem emlak yazı türü hem Vitrin kategorisi), "veya" grubuyla daha geniş (hem sayfalarda hem yazılarda) koşullar kurabilirsiniz.

    Bir profesyonel ipucu: alan gruplarınızı sürüm kontrolüne (Git) dahil etmek istiyorsanız ACF'nin "Yerel JSON" (local JSON) özelliğini kullanın. Temanızda acf-json adında bir klasör oluşturduğunuzda, ACF her grup kaydında tanımı otomatik olarak bu klasöre bir .json dosyası olarak yazar. Böylece alan tanımlarınız veritabanına gömülü kalmaz; kodla birlikte taşınır ve ekip arkadaşlarınız kaydı çektiğinde aynı alanları görür.

    # Tema icinde ACF'nin tanimlari yazacagi klasoru olustur
    mkdir -p wp-content/themes/temaniz/acf-json
    
    # Yazma izni PHP kullanicisinda olmali (ornek: www-data)
    chown -R www-data:www-data wp-content/themes/temaniz/acf-json
    

    En Cok Kullanilan Alan Tipleri#

    ACF onlarca alan tipi sunar; ama pratikte projelerin büyük çoğunluğu bir avuç tipin etrafında döner. Bunları iyi tanımak, veri modelinizi doğru kurmanın anahtarıdır. En temel olanlar Metin (tek satır), Metin Alanı (çok satır), Sayı, E-posta, URL ve Doğru/Yanlış (bir açık-kapalı anahtarı) tipleridir. Bu tipler adları kadar açıktır; bir başlık, kısa açıklama, fiyat veya "öne çıkarılsın mı" bayrağı için idealdirler.

    Resim ve Dosya alanları medya kütüphanesiyle entegre çalışır. Editör bir görsel seçtiğinde ACF, ayarına göre bu değeri ID (sayı), URL (metin) veya bir dizi (resmin tüm boyutları ve meta bilgisiyle) olarak döndürebilir. Genel tavsiye, "ID döndür" seçeneğini kullanmaktır; çünkü ID ile wp_get_attachment_image() gibi WordPress fonksiyonlarını çağırıp srcset desteğiyle uygun boyutu otomatik üretebilirsiniz. Bu, sabit bir URL gömmekten hem daha performanslı hem daha esnektir.

    Seçim (Select), Onay Kutusu (Checkbox) ve Radyo Düğmesi (Radio) alanları, önceden tanımladığınız seçeneklerden birini veya birkaçını seçtirir. Bir "cephe yönü" için radyo düğmesi (tek seçim), "sunulan olanaklar" için onay kutusu (çoklu seçim) mantıklıdır. Bu tiplerde girdiyi kısıtladığınız için veri her zaman tutarlı kalır; editör serbest metin yazamaz, dolayısıyla "Kuzey", "kuzey" ve "K" gibi üç farklı yazımın aynı anlama gelmesi sorunu ortadan kalkar.

    İki güçlü alan tipini ayrıca vurgulamak gerekir. İlişki (Relationship) ve Yazı Nesnesi (Post Object) alanları, bir içeriği başka içeriklere bağlamanızı sağlar; örneğin bir ürünü ona ait "ilgili ürünler"e ya da bir yazıyı yazarının profil kaydına bağlarsınız. Tekrarlayıcı (Repeater, yalnızca PRO) ise sayısı belirsiz satırlar için tasarlanmıştır: bir "sık sorulan sorular" listesi, bir "ekip üyeleri" tablosu ya da "teknik özellikler" satırları gibi. Editör "Satır Ekle" diyerek istediği kadar öğe girer; her satır kendi iç alanlarını (soru + cevap gibi) barındırır. Bu ikisini bir sonraki bölümde uygulamalı göreceğiz.

    Degerleri Temada Gosterme get_field ve the_field#

    Alanları tanımlayıp editör doldurduktan sonra iş, geliştiriciye geçer: bu değerleri temanın PHP dosyalarında çekip HTML içine yerleştirmek. ACF bunun için iki ana fonksiyon sunar. the_field('alan_adi') değeri doğrudan ekrana yazdırır (echo). get_field('alan_adi') ise değeri döndürür, ekrana basmaz; böylece önce bir değişkene alıp işleyebilir, koşula sokabilir veya biçimlendirebilirsiniz. Kural basittir: doğrudan göstereceğiniz basit metinlerde the_field, herhangi bir mantık uygulayacağınız yerlerde get_field kullanın.

    <?php
    // Basit bir metin alanini dogrudan yazdirmak
    echo '<h2>' . esc_html( get_field('ilan_basligi') ) . '</h2>';
    
    // the_field ise ciktiyi kendisi basar (echo icermez)
    the_field('ilan_aciklamasi');
    
    // Bir degeri once kontrol edip sonra gostermek
    $fiyat = get_field('emlak_fiyat');
    if ( $fiyat ) {
        echo '<span class="fiyat">' . number_format( $fiyat, 0, ',', '.' ) . ' TL</span>';
    }
    ?>
    

    Resim alanlarında (ID döndürecek şekilde ayarladıysanız) WordPress'in kendi yardımcı fonksiyonlarıyla responsive görsel üretmek en sağlıklı yoldur. Böylece tarayıcı ekran boyutuna göre en uygun görsel boyutunu indirir:

    <?php
    // Resim alani "ID dondur" olarak ayarliysa
    $resim_id = get_field('kapak_gorseli');
    if ( $resim_id ) {
        // srcset destekli, tema boyutuna uygun cikti
        echo wp_get_attachment_image( $resim_id, 'large', false, array(
            'class' => 'kapak',
            'alt'   => get_the_title(),
        ) );
    }
    ?>
    

    Tekrarlayıcı (Repeater) alanları döngüyle işlenir. have_rows() satır olup olmadığını kontrol eder, the_row() sıradaki satıra geçer ve get_sub_field() o satırın iç alanını okur. Aşağıda bir "sık sorulan sorular" listesini render eden tipik bir örnek var:

    <?php
    if ( have_rows('sss_listesi') ) : ?>
        <div class="sss">
        <?php while ( have_rows('sss_listesi') ) : the_row(); ?>
            <details>
                <summary><?php echo esc_html( get_sub_field('soru') ); ?></summary>
                <div><?php echo wp_kses_post( get_sub_field('cevap') ); ?></div>
            </details>
        <?php endwhile; ?>
        </div>
    <?php endif; ?>
    

    Son olarak güvenlik notu: ACF'den gelen bir değer editör tarafından girildiği için, HTML olarak basmadan önce mutlaka kaçış (escaping) uygulayın. Düz metinde esc_html(), öznitelik değerlerinde esc_attr(), URL'lerde esc_url() ve sınırlı HTML içeren zengin metinlerde wp_kses_post() kullanın. Bu alışkanlık, kötü niyetli veya yanlışlıkla girilmiş içeriğin siteye zarar vermesini önler. Şablon dosyalarını düzenlerken sitenizin bir yedeğini almayı ihmal etmeyin; düzenli yedekleme alışkanlığı, tema üzerinde deneme yaparken güvenli bir geri dönüş noktası sağlar.

    Ozel Yazi Turleri ve Bloklarla Kullanim#

    ACF gerçek gücünü, özel yazı türleriyle (Custom Post Type, CPT) birlikte kullanıldığında gösterir. Blog yazısı ve sayfa dışında kendi içerik türünüzü tanımlarsınız: emlak, personel, urun, etkinlik gibi. Sonra ilgili ACF alan grubunu bu türe bağlarsınız ve ortaya tam teşekküllü bir içerik yönetim modülü çıkar. ACF PRO sürümü, kod yazmadan CPT tanımlamak için bir "Post Types" ekranı da içerir; ücretsiz sürümde ise türü küçük bir kod parçasıyla kaydedersiniz:

    <?php
    // functions.php icinde basit bir ozel yazi turu kaydi
    add_action( 'init', function () {
        register_post_type( 'emlak', array(
            'labels'       => array(
                'name'          => 'İlanlar',
                'singular_name' => 'İlan',
            ),
            'public'       => true,
            'has_archive'  => true,
            'menu_icon'    => 'dashicons-building',
            'supports'     => array( 'title', 'editor', 'thumbnail' ),
            'rewrite'      => array( 'slug' => 'ilan' ),
        ) );
    } );
    ?>
    

    Bu türü kaydettikten sonra ACF alan grubunuzun konum kuralını "Yazı türü eşittir emlak" yaparsanız, editör her yeni ilan eklerken fiyat, oda sayısı, konum ve fotoğraf alanlarını düzenli biçimde doldurur. Ardından tema tarafında single-emlak.php ve archive-emlak.php şablonlarını oluşturup az önce öğrendiğimiz get_field/have_rows fonksiyonlarıyla bu verileri sunarsınız. Böylece kod bilmeyen bir içerik ekibi bile karmaşık, yapılandırılmış içerikleri sorunsuz yönetir.

    ACF'nin bir diğer modern kullanımı ACF Blocks ile Gutenberg editörüne özel blok eklemektir (PRO özelliği). Normalde özel bir Gutenberg bloğu yazmak React bilgisi ister; ACF Blocks bu ihtiyacı ortadan kaldırır. Bloğu bir PHP fonksiyonuyla kaydeder, alanlarını yine ACF arayüzüyle tanımlar ve blok görünümünü tanıdık get_field çağrılarıyla bir PHP şablonunda render edersiniz. Böylece "öne çıkan alıntı", "fiyat kartı" veya "ekip üyesi" gibi yeniden kullanılabilir tasarım bileşenlerini, editörün blok ekleyicisinden sürükle-bırak ile ekleyebileceği hâle getirirsiniz.

    Hangi yaklaşımı seçeceğiniz sitenizin yapısına bağlıdır. Sayfa gövdesi boyunca serbestçe yerleştirilecek yeniden kullanılabilir bileşenler için ACF Blocks; belirli bir içerik türünün sabit alanları için CPT + alan grubu daha uygundur. İkisini bir arada kullanmak da yaygındır. Tema mimarinizi kurarken bu ayrımları göz önünde bulundurmak, ileride büyüyen bir sitede karmaşayı önler; doğru tema seçimi kadar doğru içerik modeli de projenin sürdürülebilirliğini belirler. Tema tarafındaki kararlar için WordPress tema seçimi rehberimiz faydalı olacaktır.

    Performans ve Sik Yapilan Hatalar#

    ACF güçlü bir araçtır, ama dikkatsiz kullanıldığında sitenizi yavaşlatabilir. En sık karşılaşılan sorun, bir arşiv veya listeleme sayfasında yüzlerce kayıt için tek tek get_field çağrısı yapıp veritabanını gereğinden fazla sorgulamaktır. Her get_field çağrısı, o alanın değerini wp_postmeta tablosundan okur. Tek bir kayıtta bu sorun değildir; ama bir döngüde 100 ilan gösteriyor ve her biri için 8 alan çekiyorsanız yüzlerce ek sorgu birikir. Bu tür durumlarda WordPress'in nesne önbelleklemesi (object cache) devreye girse de, gereksiz alan çağrılarından kaçınmak ilk savunma hattıdır.

    İkinci yaygın hata, get_field fonksiyonunu hangi kayıt için çağırdığınızı belirtmeyi unutmaktır. Döngü içinde ACF, geçerli kaydı otomatik algılar; ama döngü dışında veya farklı bir kaydın alanını okurken ikinci parametre olarak kayıt ID'sini vermeniz gerekir: get_field('emlak_fiyat', $post_id). Bu parametreyi atladığınızda ACF yanlış kaydın (veya hiçbirinin) değerini döndürebilir; sessizce boş sonuç veren, fark edilmesi zor bir hatadır.

    <?php
    // Dogru: belirli bir kaydin alanini acikca ID vererek okumak
    $vitrin_id = 128;
    $fiyat = get_field('emlak_fiyat', $vitrin_id);
    
    // Kullanici veya taksonomi alanlari icin ozel ID bicimi gerekir
    $yazar_unvani = get_field('unvan', 'user_' . get_the_author_meta('ID'));
    $terim_aciklamasi = get_field('vitrin_metni', 'category_' . $kategori_id);
    ?>
    

    Performans açısından bir başka önemli nokta, meta değerlerine göre sıralama ve filtreleme yapmaktır. WP_Query'de meta_query kullanarak "fiyatı 1 milyon altındaki ilanlar" gibi sorgular kurabilirsiniz; ancak sayısal alanlarda karşılaştırma yaparken 'type' => 'NUMERIC' belirtmeyi unutmayın, aksi hâlde WordPress değerleri metin olarak karşılaştırır ve "9" değerini "10"dan büyük sayar. Büyük veri kümelerinde bu tür meta sorguları yavaşlayabilir; yoğun trafikli ve veri ağırlıklı sitelerde paylaşımlı hosting yerine kaynakları izole eden bir VDS sunucu veya sanal sunucu tercih etmek, veritabanı yükünü rahatça taşımanızı sağlar.

    Son olarak, alan gruplarınızı ve veri modelinizi baştan iyi planlayın. Sonradan bir alanın adını değiştirmek, o alana bağlı tüm mevcut verilerin "kaybolmasına" (yeni anahtar altında boş görünmesine) yol açar; çünkü wp_postmeta satırları eski anahtara bağlı kalır. Bu yüzden alan adlarını en başında dikkatle seçip sonrasında sabit tutmak, ileride sıkıntılı veri taşıma işlemlerinden sizi kurtarır.

    Sıkça Sorulan Sorular#

    ACF'nin ücretsiz sürümü yeterli mi, PRO'ya geçmeli miyim?#

    Çoğu proje için ücretsiz sürüm fazlasıyla yeterlidir; metin, sayı, resim, dosya, seçim ve ilişki gibi temel alan tiplerinin tamamını içerir. PRO'ya geçmeniz gereken durum genellikle üç özellikten birine ihtiyaç duyduğunuzda ortaya çıkar: Repeater (tekrarlayan satırlar), Flexible Content (esnek blok düzenleri) ve ACF Blocks (özel Gutenberg blokları). Projeniz sık sık "sayısı belirsiz satırlar" veya özel bloklar gerektiriyorsa PRO'nun tek seferlik veya yıllık maliyeti, harcadığı zamanı fazlasıyla amorti eder.

    ACF ile girdiğim veriler eklentiyi silersem kaybolur mu?#

    Hayır, verilerin kendisi kaybolmaz. ACF'nin girdiği tüm değerler WordPress'in standart wp_postmeta tablosunda saklanır; eklentiyi silseniz bile bu satırlar veritabanında kalır. Kaybolan tek şey, o alanları editörde göstermenizi sağlayan arayüz ve get_field gibi yardımcı fonksiyonlardır. Değerlere get_post_meta() gibi çekirdek WordPress fonksiyonlarıyla erişmeye devam edebilirsiniz; yani ACF sizi kilitleyen bir bağımlılık değildir, veriniz her zaman taşınabilir kalır.

    get_field ile the_field arasındaki fark nedir?#

    İkisi de aynı alanın değerine ulaşır ama farklı davranır. the_field('alan_adi') değeri doğrudan ekrana yazdırır, yani içinde bir echo işlemi vardır. get_field('alan_adi') ise değeri döndürür ama ekrana basmaz; onu bir değişkene alıp önce kontrol edebilir, biçimlendirebilir veya bir koşula sokabilirsiniz. Basit metinleri doğrudan gösterirken the_field, herhangi bir mantık uygulayacağınız her durumda get_field kullanmak en sağlıklı yaklaşımdır.

    Alan grubunu başka bir siteye nasıl taşırım?#

    En temiz yöntem ACF'nin "Yerel JSON" (local JSON) özelliğidir. Temanızda acf-json klasörü oluşturursanız ACF her kayıtta alan tanımını otomatik olarak bu klasöre yazar ve tema dosyalarıyla birlikte taşınır. Alternatif olarak ACF menüsündeki "Araçlar" bölümünden alan gruplarını PHP koduna aktarabilir veya bir .json dosyası olarak dışa/içe aktarabilirsiniz. İki site arasında düzenli senkronizasyon yapacaksanız Yerel JSON yöntemi hem sürüm kontrolüyle uyumlu hem de ekip çalışmasına en uygun olanıdır.

    ACF sitemi yavaşlatır mı?#

    Doğru kullanıldığında ACF'nin performans etkisi ihmal edilebilir düzeydedir; çünkü verileri WordPress'in kendi meta tablosundan okur. Yavaşlık genellikle kullanım hatalarından kaynaklanır: büyük listeleme sayfalarında kayıt başına düzinelerce gereksiz get_field çağrısı, önbelleksiz ağır meta_query sorguları veya çok derin iç içe Repeater yapıları. Alan çağrılarını gerektiği kadar tutup bir önbellekleme katmanı ekleyerek ve sunucu kaynaklarınızın yeterli olmasını sağlayarak bu etkileri kolayca yönetebilirsiniz.

    Özel alanlara göre arama ve filtreleme yapabilir miyim?#

    Evet. WP_Query içinde meta_query parametresiyle özel alan değerlerine göre sorgu kurabilirsiniz; örneğin belirli bir fiyat aralığındaki ilanları veya "öne çıkarılsın" bayrağı işaretli kayıtları listeleyebilirsiniz. Sayısal karşılaştırmalarda 'type' => 'NUMERIC' belirtmeyi unutmayın, aksi hâlde değerler metin olarak sıralanır. Ziyaretçiye açık, çok kriterli filtreleme arayüzleri için ise SearchWP veya FacetWP gibi eklentiler ACF alanlarını doğrudan tanıyıp arama motoruna dahil edebilir.

    Kapanış#

    ACF, WordPress'i basit bir blog aracından esnek bir içerik yönetim sistemine dönüştüren köprüdür. Editöre zengin ve doğrulanmış veri girdileri kazandırır, size de bu verileri temada birkaç satır PHP ile sunma imkânı verir. Alan gruplarını doğru konum kurallarıyla hedeflemek, alan tiplerini veriye uygun seçmek, get_field/the_field fonksiyonlarını yerinde kullanmak ve özel yazı türleriyle birleştirmek; hem içerik ekibi hem geliştirici için sürdürülebilir, tutarlı ve profesyonel bir yapı kurar. Baştan iyi planlanmış bir içerik modeli, sitenizin yıllarca sorunsuz büyümesinin temelini atar.

    Kurduğunuz bu yapının gerçek dünyada hızlı ve kararlı çalışması, altındaki sunucunun kalitesine bağlıdır. WordPress projelerinizi optimize edilmiş bir zeminde barındırmak için Clou.TR'nin WordPress hosting ve genel web hosting paketlerine göz atabilir; kaynak izolasyonu ve tam kontrol isteyen büyük projeler için VDS sunucu çözümlerimizi değerlendirebilirsiniz. Kurulum, bakım ve güncellemelerle uğraşmak istemeyenler içinse WordPress bakım ve sunucu yönetim hizmetlerimiz devrede; siz içeriğinizi tasarlarken altyapıyı biz üstleniriz. Sağlam bir zeminle başlamak için bugün Clou.TR ürün sayfalarını inceleyin.

    wordpressacficerik

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.