Text, Text area, Email ve URL
3 dk okuma
Bu dört tür, bir metin parçasını normal bir veritabanı sütununda saklar. Aralarındaki fark, metnin kaydedilmeden önce nasıl temizlendiği ve editörün gördüğü denetimdir.
Tür | Tür kimliği | Sütun (varsayılan) | İzin verilen SQL türleri | Denetim |
|---|---|---|---|---|
Text |
|
|
| Tek satırlık girdi |
Text area |
|
|
| Çok satırlı kutu (4 satır, modern stilde 5) |
|
|
| Tarayıcının e-posta girdisi | |
URL |
|
|
| Tarayıcının URL girdisi |
Bu türlerin hiçbirinin kendi Type settings ayarı yoktur. Her alanın ortak ayarları sayfasında anlatılan seçenekleri kullanırlar: varsayılan değer, yer tutucu, yönergeler, zorunluluk, en az ve en çok uzunluk ve görünüm seçenekleri.
Başka bir sütun boyutu kullanmak için alanın SQL sütun seçeneklerini açın (bkz. Alan grupları) ve izin verilen listeden bir tür seçin. Örneğin Text alanını VARCHAR(100) veya TEXT yapın.
Sütun fonksiyonları. Bir alan, değerini veritabanı katmanında da hesaplayabilir. İzin verilen fonksiyonlar: Text için current_timestamp, md5, uuid, sha1, upper, lower; Text area için upper, lower, sha1; Email ve URL için uuid. Fonksiyonu olan bir alan varsayılan değere sahip olamaz. upper ve lower değer kaydedilirken uygulanır; uuid yalnızca değer boşsa üretilmiş bir UUID yazar.
Text
Saklar: tek bir satır.
Kaydederken temizleme: HTML etiketleri kaldırılır, baştaki ve sondaki boşluklar kırpılır, satır sonları boşluğa çevrilir ve geçersiz karakterler atılır. Alanda bir Max length varsa metin o kadar karaktere kesilir.
Döndürür: bir string.
Yazdırır: metni, HTML escape edilmiş olarak.
Şablonda kullanım
$title = wpmcf_get_field( 'product', 'tagline' ); // "Fast & light" (raw, not escaped)
echo esc_html( $title ); // escape it yourself
wpmcf_the_field( 'product', 'tagline' ); // <span class="wpmcf-field-value">Fast & light</span>
wpmcf_the_field( 'product', 'tagline', null, [ 'wrap' => false ] ); // Fast & light[wpmcf_field group="product" field="tagline"]
[wpmcf_field group="product" field="tagline" id="42" wrap="false" default="No tagline"]wpmcf_get_field() saklanan string'i escape edilmemiş olarak döndürür. Yazdırdığınız yere göre kendiniz escape edin (esc_html(), esc_attr(), esc_url()).
Text area
Saklar: birden çok satır.
Kaydederken temizleme: HTML etiketleri kaldırılır ve geçersiz karakterler atılır, ancak satır sonları korunur. Sondaki boş satırlar kırpılır.
Döndürür: \n satır sonları içeren bir string.
Yazdırır: HTML escape edilmiş olarak. Satır sonları dönüştürülmez: <br> etiketine çevrilmez; tarayıcı hepsini tek paragraf olarak gösterir. Satır sonlarını korumak için nl2br() veya wpautop() kullanın:
echo wpautop( esc_html( wpmcf_get_field( 'product', 'summary' ) ) );Editörlerin biçimlendirmeye veya bağlantılara ihtiyacı varsa bir WYSIWYG editor kullanın.
Kaydederken temizleme: değer WordPress'in sanitize_email() fonksiyonundan geçer. Geçerli bir adres olmayan değer boş (NULL) kaydedilir. Harf büyüklüğü korunur.
Döndürür: adres bir string olarak (boşsa null).
Yazdırır: escape edilmiş düz metin olarak adres; adres asla bir mailto: bağlantısına dönüştürülmez. Bağlantıyı kendiniz oluşturun:
$mail = wpmcf_get_field( 'contact', 'email' );
if ( is_email( $mail ) ) {
printf( '<a href="mailto:%1$s">%1$s</a>', esc_attr( $mail ) );
}URL
Kaydederken temizleme: değer esc_url_raw() fonksiyonundan geçer. Eksik şemaya http:// eklenir (example.com, http://example.com olur), boşluklar kodlanır ve javascript: gibi tehlikeli şemalar kaldırılır; bu da boş bir değer kaydeder. /contact gibi göreli bir adres olduğu gibi korunur.
Döndürür: URL string'i.
Yazdırır: URL'yi, bir öznitelikte kullanılmak üzere escape edilmiş olarak (esc_url()). Bir bağlantıya sarılmaz. Bağlantı metni ve yeni sekme seçeneği olan tıklanabilir bir düğme için Link türünü kullanın.
$site = wpmcf_get_field( 'company', 'website' );
if ( $site ) {
printf( '<a href="%s" rel="noopener">Visit website</a>', esc_url( $site ) );
}[wpmcf_field group="company" field="website" format="url" wrap="false"]Düzenleme ekranı
Tür | Editörün gördüğü |
|---|---|
Text, Email, URL | Alanın yer tutucusu, |
Text area | Aynı sınırlara sahip, yeniden boyutlandırılabilir bir kutu. |
Türü sonradan değiştirme
Text, veri yedeği gerekmeden Text area, Password veya URL türüne; Email ise Text, Text area, Password veya URL türüne çevrilebilir. Farklı bir tür grubuna geçmek (örneğin Text'ten Number'a) dönüştürme gerektirebilir: oluşturucu sizi uyarır ve bir yedek sütun tutar. Bkz. Alan grupları.
Sorun giderme
- Satır sonlarım sitede kayboluyor. Text area bunları veride korur, ancak HTML bunları birleştirir.
wpautop()veyanl2br()kullanın. - Email alanı kaydettikten sonra boş. Adres geçerli değildi (örneğin boşluk içeriyordu). Alan boş kaydedilir.
- URL'min başına
http://eklendi. URL türü eksik şemayı tamamlar. Adresin tamamını,https://dahil, yazın. - Kısa bir değer Min length kuralımı geçiyor. Min length yalnızca tarayıcı tarafından uygulanır; Max length kullanın veya kendi denetiminizi kodda yapın. Bkz. Her alanın ortak ayarları.
Hâlâ takıldınız mı? Destek ile iletişime geçin