Alan ayarları: genel, doğrulama ve SQL sütunu
6 dk okuma
Ayarlar panelini açmak için bir alan satırındaki Advanced options düğmesine tıklayın. Panelde beş sekme vardır:
Sekme | İçeriği | Anlatıldığı yer |
|---|---|---|
Type settings | Seçilen türün ayarları (seçenekler, dönüş biçimi, ...). | |
General | Varsayılan değer, yer tutucu, yönergeler, genişlik. | bu sayfa |
Validation | Required, dizin, benzersizlik, doğrulama kuralları, SQL sütunu. | bu sayfa |
Display | Sarmalayıcı sınıfı ve kimliği, ön ek, son ek, yönetim sütunu, çeviri modu. | |
Conditional logic | Alanı diğer alanlara göre gösterir veya gizler. |
Yerleşim alanları (Tab, Accordion) hiçbir şey saklamaz, bu nedenle bu seçeneklerin çoğu onlar için geçerli değildir.
General sekmesi
Ayar | Varsayılan | Etki |
|---|---|---|
Default value | boş | Düzenleme ekranının, henüz kayıtlı değeri olmayan bir nesne için gösterdiği değer; düz bir varsayılan değer aynı zamanda sütunun SQL |
Placeholder | boş | Boş bir giriş alanının içindeki gri ipucu. Hiçbir zaman saklanmaz. İçindeki |
Instructions | boş | Alanla birlikte editörlere gösterilen yardım metni. Nerede göründüğü grubun Instruction placement ayarına bağlıdır (Below labels veya Below fields). Yalnızca düz metin. |
Width | Full width | Alanın düzenleme ekranında satırın ne kadarını kapladığı: Full width, Three quarters, Two thirds, Half, One third veya One quarter. Satır dolana kadar alanlar yan yana durur. Diğer değerler yok sayılır; tam genişlik saklanmaz. |
Validation sekmesi
Sekme üç bölümden ve bir özet satırından oluşur.
Kısıtlamalar
Ayar | Varsayılan | Etki |
|---|---|---|
Required | kapalı | Editörün alanı doldurması gerekir. Düzenleme ekranı alanı |
Add index | kapalı | Sütunda normal bir dizin oluşturur; böylece sütuna göre filtreleyen veya sıralayan sorgular hızlı çalışır. JSON olarak saklanan alanlarda (onay kutusu listeleri, ilişkiler, gruplar, tekrarlayıcılar, ...) kullanılamaz. |
Unique | kapalı | Bir |
Prefix length |
| Ön ek dizini kullanan metin türleri için gösterilir. Yalnızca ilk N karakter dizinlenir (1 ile 3072 arası). Daha kısa bir ön ek, daha küçük ama daha az kapsayan bir dizin demektir. Sayısal veya tarih sütunu olan türlerde değerin tamamı dizinlenir. |
Add index ve Unique, Group veya Repeater içindeki alt alanlar için sunulmaz (bunlar gerçek sütun değildir).
Dizin adları idx_{key} ve uq_{key} biçimindedir. Map alanı enlem ve boylam sütunlarını birlikte dizinler.
Sınırlar: bir grupta 8 dizinli alandan itibaren bir uyarı görünür (Many indexes slow down writes); 20'nin üzerinde grup kaydedilemez. Yalnızca gerçekten filtrelediğiniz veya sıraladığınız alanları dizinleyin.
Doğrulama kuralları
Hangi kuralları alacağınız türe bağlıdır:
Alan türleri | Kurallar |
|---|---|
Metin benzeri (Text, Text area, Email, URL, Password, ...) | Min length ve Max length (karakter olarak). |
Sayısal (Number, Range) | Min value, Max value, Step (örneğin |
Seçim, ilişkisel, tarih/saat, JSON ve kapsayıcı türleri | Ek kural yoktur. Panelde şu yazar: |
Kuralların nasıl uygulandığı:
Kural | Tarayıcıda | Kaydederken (sunucu) |
|---|---|---|
Max length |
| Daha uzun metin uzunluğa kesilir (hata verilmez). |
Min length |
| Sunucuda uygulanmaz (Password türü kendi alt sınırını uygular). |
Min value / Max value |
| Sayı aralığa sıkıştırılır. |
Step |
| Sunucuda uygulanmaz. |
Bu nedenle kurallar normal düzenlemeyi korur, ancak wpmcf_update_field() ile yapılan API yazmalarını korumaz (bu işlev türün kendi temizleme işlemini çalıştırır). Negatif sayılara izin veriyorsanız SQL sütununun Unsigned olmadığından emin olun.
Zorunlu alanlar
Nerede | Davranış |
|---|---|
Klasik formlar (kullanıcı, terim, yorum, widget, klasik yazı düzenleyicisi) | Tarayıcı gönderimi engeller ve alan |
Blok düzenleyici (yazılar) | Kaydetme kilitlenir ve alanlar doldurulana kadar |
Sunucu | Kaydetme hiçbir zaman reddedilmez. Zorunlu bir alan hâlâ boşsa (örneğin değer API'den geldiyse) değerler kaydedilir ve sonraki ekranda |
Koşullu mantıkla gizlenen alanlar | Hiçbir zaman zorunlu değildir. |
Group, Repeater, Flexible content | Zorunlu, en az bir satır anlamına gelir (Group için doldurulmuş bir alt alan). Zorunlu bir alt alan her satırın içinde denetlenir. |
Var olan bir alanı zorunlu yapmak sütununu NOT NULL yapar. Mevcut boş (NULL) değerler önce alanın varsayılanıyla, yani metin için '' veya sayılar için 0 ile değiştirilir; böylece değişiklik başarısız olmaz. Tarih ve saat sütunları null atanabilir kalır.
SQL sütunu
Normalde kapalı bırakılan katlanabilir bir blok (Override the physical column type and charset when needed. Most sites can keep this closed.). JSON olarak saklanan alanlarda gizlidir; alt alanlar yalnızca bir JSON değerinin içinde anlamlı olan seçenekleri alır.
Ayar | Varsayılan | Etki |
|---|---|---|
Column type | türün kendi değeri (örneğin Text için | Alan türünün izin verdiği başka bir SQL türüyle değiştirin; gerekiyorsa uzunluk veya hassasiyet verin (örneğin |
Numeric › Unsigned | kapalı |
|
Encoding | sitenin karakter kümesi ve harmanlaması | Hazır bir karakter kümesi seçin veya Custom... seçip bir Charset ( |
Function | None | Saklanan değeri hesaplar, aşağıya bakın. |
Sütun işlevleri:
Function | Ne saklar | Gereksinimler |
|---|---|---|
None | editörün gönderdiği değer | |
Current timestamp | Veritabanı | Bir |
MD5 (on save) | Gönderilen değerin 32 karakterlik MD5 onaltılık değeri. |
|
UUID | 36 karakterlik bir UUID. MySQL 8.0.13+ bunu veritabanında varsayılan yapabilir; aksi hâlde boş bir değer kaydedilirken doldurulur. |
|
SHA1 (on save) | 40 karakterlik SHA-1 onaltılık özeti. |
|
UPPER (on save), LOWER (on save) | Metin büyük veya küçük harfle (UTF-8 uyumlu). | Bir metin sütunu; Email veya URL alanları için değil. |
ABS (on save) | Sayının mutlak değeri. | Sayısal bir sütun. |
RAND (on save) | Değer boşken 0 ile 1 arasında rastgele bir sayı. | Sayısal bir sütun. |
Bir işlev etkinken Default value, Prefix ve Suffix devre dışıdır, çünkü saklanan değere işlev karar verir. İşlevler Group veya Repeater alt alanlarında kullanılamaz. Sütun türü uymadığında kayıt, Field "x": UUID requires VARCHAR(n) or CHAR(n) with n ≥ 36 (not TEXT). gibi bir mesajla reddedilir.
Sütun özeti
En altta, Column: price NOT NULL INDEX gibi bir satır sütunun nasıl görüneceğini gösterir: adı, zorunlu alanlar için NOT NULL ve INDEX, INDEX (191) (ön ek) veya UNIQUE INDEX.
Kaydedilmiş bir alanda bu ayarları değiştirme
Varsayılan değeri, Required ayarını, sütun türünü, karakter kümesini, harmanlamayı, işlevi veya benzersizlik işaretini değiştirmek sütunu değiştirir (MODIFY COLUMN). Dizin değişiklikleri bir dizin ekler veya kaldırır. İkisi de güvenle gerçekleşir: veritabanı değişikliği reddederse (örneğin zaten yinelenen değerleri olan bir sütunda yeni bir Unique dizini) her şey geri alınır ve hiçbir şey kaydedilmez. Bkz. Bir alan grubunu güvenle değiştirme.
Sorun giderme
Sorun | Neden ve çözüm |
|---|---|
Yeni bir Unique dizini kaydetmek başarısız oluyor | Sütunda zaten yinelenen değerler var. Yinelenenleri kaldırın, sonra yeniden kaydedin. |
| Bir |
Doğrulama kuralım hatalı bir değeri engellemedi | Min length ve Step yalnızca tarayıcı denetimleridir; Max length ve Min/Max value kesme veya sıkıştırma yoluyla uygulanır. |
Hâlâ takıldınız mı? Destek ile iletişime geçin