Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

Özel bir WordPress Kayıt Formu Eklentisi Oluşturma

by
Difficulty:IntermediateLength:LongLanguages:

Turkish (Türkçe) translation by Nevres Emre Alsancak (you can also view the original English article)

WordPress yeni bir kullanıcı oluşturmak veya mevcut bir WordPress kurulumuna yeni bir kullanıcı eklemek için kullanılabilen özel bir kayıt formu zaten sağlar. Ancak WordPress Kontrol Paneli'nde seçenekleri bulunmayan özel bir kayıt formu yaratmak isterseniz ne olur?

Bu yazıda, şablon etiketleri(template tags) ve kısa kodları(shortcodes) birlikte kullanarak kullanarak WordPress'de nasıl özel bir kayıt formu oluşturulabileceğini öğreneceğiz.

Varsayılan kayıt formu sadece kullanıcı adı ve e-posta olmak üzere iki form alanından oluşur.

Yalnızca kullanıcı adı ve e-posta formu alanının bulunması, kayıt işlemini inanılmaz kolaylaştırır. Önce kullanıcı adınızı girer ve sonra gönderilecek şifre için kullanmak istediğiniz e-postanız. Ardından, siteye şifre ile giriş yaptıktan sonra profilinizi tamamlar ve şifrenizi unutmacağınız bir sifreyle değiştirirsiniz.

Bir kullanıcının sitenize kaydolmak için yukarıdaki adımlarla strese girmesine sebep olmak yerine, neden varsayılan kullanıcı adı ve e-posta adresine ek olarak şifre, web sitesi linki, biyografi, takma ad, ad ve soyad gibi alanlarından oluşan, doğrudan bir kayıt formu sağlamayalım.

Bu Tuts+ gibi çok yazarlı bir web sitesinde yararlıdır.

Bu makalede aşağıdaki form alanlarına sahip bir özel kayıt formu eklentisi oluşturacağız:

  • kullanıcı adı
  • şifre
  • email
  • websitesi adresi
  • ad
  • soyadı
  • takma ad
  • biyografi (veya hakkında bölümü)

Özel kayıt formu eklenti kısa kodu ve ilişkili şablon etiketini kullanarak WordPress'e entegre edilebilir.

Kısa kodla bir sayfa oluşturup bunun sitenizin resmi kayıt sayfası yapabilirsiniz. Kısa kodu bir yazı içinde de kullanabilirsiniz; böylece kullanıcı, yazılarınızdan birini okuduktan sonra sitenize üye olabilir.

Kayıt formunu web sitenizdeki kenar çubuğa(sidebar) veya belirli bir yere eklemek istiyorsanız, WordPress temasını düzenleyebilir ve şablon etiketini istediğiniz yere ekleyebilirsiniz.

Kayıt formu eklentisini oluşturmaya başlamadan önce, kullanıcı adı, şifre ve e-posta alanının zorunlu olduğunu unutmayın.

Doğrulama fonksiyonunu yazarken bu kuralı uygulayacağız.

Premium Seçenek

Bu yazı eklentiyi sıfırdan yapmayı öğretecektir, ancak hızlı ve tak-çalıştır bir çözüm arıyorsanız Envato Market'teki WordPress Kayıt Formu eklentisini deneyin. Doğrulama denetimi ile çok çeşitli kayıt alanlarını ayarlayabilirsiniz. Kayıt tamamlandıktan sonra, oturum açma bilgileri yeni üyeye bir e-posta ile gönderilir. Kayıt, şifre değiştirme vb. için bulunan e-posta şablonları değiştirilebilir.

WordPress Registration Form plugin on Envato Market
Envato Market'teki WordPress Kayıt Formu eklentisi

Başka bir seçenek de Envato Studio'da sipariş vermek. Deneyimli WordPress eklenti geliştiricileri arasında doğru kişiyi seçebilirsiniz. Sonra, kısa bildirinizi gönderirsiniz ve geliştiricinin eklentinizi belirlediğiniz sürede oluşturmasını beklersiniz.

Örneğin, Alisaleem252, en son WordPress sürümü ve ihtiyaçlarınıza göre WordPress Deposu'ndaki diğer eklentilerle uyumlu olacak özelleştirilmiş bir WordPress eklentisi geliştirir.

Aşağıdakikere sahip olacaksınız

  • gerekirse özel widget
  • gerekirse kısa kod
  • gerekirse özel yazı türü(post type)
  • güvenilir hizmet
Custom WordPress Plugin Development
Özel WordPress Plugin Geliştirme

Tam servis ücreti sadece 300$'dır ve eklentiniz 10 gün içinde hazır olacaktır. Alisaleem252, önceki müşterilerden %98 oranında onay aldı. O zaman neden bu popüler Özel WordPress Eklentisi Geliştirme hizmetini denemiyorsunuz?

Eklentiyi Oluşturma

Bunları söylediken sonra artık eklentiyi kodlamaya başlayalım. Öncelikle eklenti başlığını(header) ekleyin.

Daha sonra kayıt formunun HTML kodunu içeren bir PHP fonksiyonu oluştururuz.

Yukarıdaki fonksiyona değişken olarak geçirilen kayıt alanına dikkat edin. Örnegin, fonksiyon kodunda aşağıdaki kod örneklerinden göreceksiniz:

( isset( $_POST['lname'] ) ? $last_name : null )

Üçlü operatör, formdaki mevcut bir değerin olup olmadığını görmek için genel $_POST dizisinin içeriğini kontrol eder. Bir değer içeriyorsa, kullanıcıyı alan girişini yeniden girme zahmetinden kurtarmak için form alanlarını değerle doldurur.

Kullanıcı girdisini doğrulayana ve temizleyene kadar bir kayıt formu asla tamamlanmaz. Bu yüzden registration_validation adıyla bir doğrulama fonksiyonu oluşturacağız.

Doğrulama ağrısını azaltmak için WordPress WP_Error sınıfını kullanacağız. Doğrulama fonksiyonunu kodlarken beni izleyin:

  1. Fonksiyonu oluşturun ve kayıt alanını fonsiyon argümanı olarak geçirin.
  2. WP_Error sınıfını somutlaştırın(instantiate) ve fonksiyon dışındanda erişilebilmesi için somut değişkenini(instance variable) global yapın.
  3. Unutmayın: Kullanıcı adı, şifre ve e-postanın gerekli olduğunu ve bunların dışında bırakılmamasını söyledik. Kuralları uygulamak için herhangi bir alanın(field) boş olup olmadığını kontrol etmemiz gerekiyor. Boş ise hata mesajını global WP_Error sınıfına ekleriz.
  4. Ayrıca kullanıcı adı karakterlerinin en az 4 olduğunu kontrol ediyoruz.
  5. Kullanıcı adının zaten kayıtlı olup olmadığını kontrol edin.
  6. Kullanıcı adının geçerli olduğundan emin olmak için WordPress validate_username fonksiyonunun hizmetlerinden yararlanın.
  7. Kullanıcıların girdiği şifrenin 5 karakterden az olmamasını sağlayın.
  8. E-postanın geçerli bir e-posta olup olmadığını kontrol edin.
  9. E-postanın zaten kayıtlı olup olmadığını kontrol edin.
  10. Web sitesi alanı doldurulmuşsa, bunun geçerli olup olmadığını kontrol edin.
  11. Son olarak, WP_Error örneğimizi tararız ve hatayı görüntüleriz.
    Doğrulama fonksiyonunu kodlamamız bitti.

Sıradaki kullanıcı kaydını idare eden fonksiyonu complete_registration().
Kullanıcı kaydı aslında kullanıcı verisinden oluşan bir dizin kabul eden wp_insert_user fonksiyonu tarafından yapılır.

Yukarıda complete_registration() fonsiyonunda, $reg_errors WP_Error örneğini ve form alanlarını global yaptık, böylece değişkene global kapsamda erişebiliriz.

Daha sonra $reg_errors hata işleme örneğinde herhangi bir hata olup olmadığını kontrol ediyoruz. Herhangi bir hata bulunmazsa, $userdata dizinini doldurmaya, kullanıcı kayıt ayrıntılarını WordPress veritabanına eklemeye ve giriş sayfasına bir bağlantı içeren bir Kayıt Tamam mesajı görüntüleyeceğiz.

Sırada yukarıda oluşturduğumuz tüm fonksiyonları kullanan süper custom_registration_function() fonksiyonu.

custom_registration_function() fonksiyonundaki kodu açıklayayım.

İlk olarak $_POST ['submit']'i ayarlanmış olup olmadığını kontrol ederek formun gönderilip gönderilmediğine bakarız. Form gönderildiyse, kullanıcı tarafından gönderilen formu doğrulamak için registration_validation fonksiyonunu çağırırız.

Daha sonra form verilerini temizleyip, temizlenmiş verilerini form alanından adlandırılmış bir değişkene veririz. Son olarak, complete_registration'i çağırarak kullanıcıyı kaydettiririz.

Kayıt formunu görüntülemek için registration_form fonksiyonunu çağırmamız gerekiyor.

Kayıt eklentisi için kısa kod desteği sağlayacağımızdan bahsettiğimi hatırlıyormusunuz? Aşağıda kısa kod desteği için gereken kod.

Bu noktada eklentiyi kodlamayı tamamladık. Aşağıda, kayıt formunun nasıl göründüğünü gösteren bir resim bulunmaktadır.

Farklı CSS stillerinden dolayı WordPress sitenizde birebir görünümün olmayacağını unutmayın.

Eklenti Kullanımı

Eklentiyi WordPress yazısına veya sayfaya uygulamak için [cr_custom_registration] kısa kodunu kullanın.

Kayıt formunu temanızın belirli bir bölümünde göstermek için aşağıdaki şablon etiketini ekleyin - <?php custom_registration_function(); ?>
Eklenti dosyasını bu yazıdaki ekten edinebilirsiniz.

Özet

Bu yazıda WordPress'e özel bir kayıt formu ekleyen bir eklentinin oluşturulma sürecini gördük. Kayıt formunu kullanıcı rolü, AOL Sohbet hesabı gibi ek alanlar içerecek şekilde genişletebilirsiniz ancak form alanının wp_insert_user için geçerli bir meta veri olduğundan emin olun.

Herhangi bir sorunuz ve öneriniz varsa, yorumlar kısmında bana bildirin!

Bu yazıyı takip etmekte zorlandıysanız ve basit bir çözüm istiyorsanız, Envato Market'teki WordPress Kayıt Formu eklentisini deneyin.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.