Bodrum Dijital Medya

WordPress Elementor’da Telefon Numarasına Koşul Atamak

WordPress’in en iyi page builderlarından (sayfa yapıcı) olan Elementor’un Pro sürümünde, iletişim formu oluşturabiliyorsunuz. Bu formda da Telefon alanı bulunuyor. Normalde bu alana, sınırsız sayıda rakam girebiliyorsunuz ki bu hiç de istenmeyen bir durum.

Web sitesini yaptığınız kişi bunun için özel bir kod yazdığınızı bilmez ama iyi bir webmaster bu tür ayrıntılara dikkat etmelidir.

Bu tür detaylar, hazırladığınız web sitesinin kullanımını kolaylaştıracaktır. Çünkü web sitesini işleten kişiye gelen e-postada upuzun bir telefon numarası olmamalı. Ayrıca bu, web sitesini kullanan ziyaretçiler için de güzel bir özellik. Eklediğiniz bu kod sayesinde, telefon numarasını yanlış girme riskini de sonlandırırsınız.

Aşağıdaki kodu, temanızdaki veya child temanızdaki function.php dosyasına eklemelisiniz. Ancak unutmayın ki, bu kodu child tema yerine temanın orijinalindeki functions.php’ye eklerseniz, tema her güncellendiğinde functions.php de güncelleneceği için eklediğiniz kod silinecektir.

Bu kodun içerisinde, telefon numarasını istediğiniz şekilde girmeyen kullanıcılara vereceğiniz uyarı mesajını da düzenleyebiliyorsunuz.

add_action( 'elementor_pro/forms/validation/tel', function( $field, $record, $ajax_handler ) {

if ( preg_match( '/[0-9]{11}/', $field['value'] ) !== 1 ) {
$ajax_handler->add_error( $field['id'], 'UYARI MESAJI BURAYA. ÖRNEK MESAJ: Telefon numaranızı arada boşluk bırakmadan, başına 0 ekleyerek giriniz. Örn: 0XXXXXXXXXX' );
}
}, 10, 3 );

Gelelim koddaki ufak ayrıntılara:

Kodda yazan aşağıdaki bölüm, telefon numarasını nasıl istediğimizi anlattığımız kod parçacığı. Burayı düzenleyerek, istediğiniz telefon numarasının nasıl olması gerektiğini yazabilirsiniz. Aşağıdaki örnekte, telefon numarası için 0’dan 9’a kadar rakamların girilebileceği, bunun da 11 hane ile sınırlı olduğu belirtiliyor.

( preg_match( '/[0-9]{11}/', $field['value'] ) !== 1 )

Başka bir örnek kod parçacığı hazırlayalım. Burada da Elementor İletişim Formu’na, telefon numarasını 0500-000-00-00 şeklinde girilmesini istediğimizi söyleyelim:

( preg_match( '/[0-9]{4}-[0-9]{3}-[0-9]{2}-[0-9]{2}/', $field['value'] ) !== 1 )

Yani kısacası, kodun bu bölümünü düzenleyerek telefon numarasını nasıl istediğinizi belirleyebilirsiniz. Türkiye’de telefonlar, genellikle ilk yazdığım koddaki gibi kullanılıyor. Ama aralarında boşluk olan yani 0500 000 00 00 şeklinde, daha düzgün ve doğru bir kullanım isterseniz ne yazık ki bu kod ona izin vermiyor.

Nasıl yapılacağını da bulamadım. 🙂 Eğer biliyorsanız bana da söyleyin!