24 Haziran 2013 Pazartesi

WordPress Kullanıcı Profili Özel Alanlar ekleme

WordPress'in kullanıcı profili oldukça kolay kendi değerlerini eklemek için adapte edilebilir. Böylece ihtiyaçlarına göre gerekli alanlar ekleyebilirsiniz. İşte bunu nasıl, biz adresi için bir alan eklemek ve içerik veritabanında saklanır. WordPress çeşitli kanca sadece alanları hakkında endişelenmenize gerek emin olun.

Kayıt için fonksiyonu fb_save_custom_user_profile_fields () ve burada kullanıcılar (düzenleme için bu durumda, hakları mevcuttur sadece, her bir aktif kullanıcı haklarını kontrol etmek önemlidir edit_user ), daha sonra veri saklanabilir. 
Gerçek tasarruf veri üzerinden gerçekleşir update_usermeta () .
Elbette alanları her türlü geçebilir, giriş alanı sadece bir örnektir. Bu Plugin fonksiyonları outsource tavsiye edilir, alternatif de olanfunctions.php Tema, ama kesinlikle en iyi yol değildir.
Küçük bir örnek her fonksiyonu iki kanca sevk edildi. WordPress kullanıcı profilleri düzenleme arasında ayrım ve kişisel veri güncelleme çünkü. Bu sabit kullanılarak yapılır IS_PROFILE_PAGE . Varsayılan olarak bu sabit DOĞRU üzerinde ve böylece kanca olur show_user_profile ve personal_options_update yeni alanlar getirmek ve onları kurtarmak için yeterli. Ama bu kurulum ve yönetici bu yeni alanları korumak değil bu şekilde bağlı olarak değişebilir. Özellikle, iki veya daha fazla kanca ihtiyaç vardır. Aksi takdirde yönetici kullanıcı bile profilinde görmüyor verileri korumak zorundadır Birçok durumda, olabilir.
  • fonksiyonu fb_add_custom_user_profile_fields ( $ kullanıcı ) {
  • >
  •     < h3 > <php? _e ( 'Extra Profil Bilgileri' , 'your_textdomain' ); ?> </ h3 >
  •     
  •     < tablo class = "form-masa" >
  •         < tr >
  •             < th >
  •                 < etiket için = "adres" > <php? _e ( 'Adres' , 'your_textdomain' ); ?>
  •             </ label > </ th >
  •             < td >
  •                 < input type = "text" adı = "adres" id = "adres" değer = "<php ​​echo esc_attr (get_the_author_meta ('adres', $ user-> ID));?>" class = "Normal metin" /> < br />
  •                 < süresi class = "açıklama" > <php? _e ( 'Lütfen adresinizi girin.' , 'your_textdomain' ); ?> </ süresi >
  •             </ td >
  •         </ tr >
  •     </ tablo >
  • <? Php }
  • fonksiyonu fb_save_custom_user_profile_fields ( $ user_id ) {
  •     
  •     eğer ( ! current_user_can ( 'edit_user' , $ user_id ) )
  •         geri YANLIŞ ;
  •     
  •     update_usermeta ( $ user_id , 'adres' , $ _POST [ 'adres' ] );
  • }
  • add_action ( 'show_user_profile' , 'fb_add_custom_user_profile_fields' );
  • add_action ( 'edit_user_profile' , 'fb_add_custom_user_profile_fields' );
  • add_action ( 'personal_options_update' , 'fb_save_custom_user_profile_fields' );
  • add_action ( 'edit_user_profile_update' , 'fb_save_custom_user_profile_fields' );

1 yorum:

  1. Dostum hiç koda baktın mı? :) Yarı Türkçe, yarı İngilizce bir kod. Muhtemelen çeviri eklentisi kullanıyorsun, derhal onu kapat. Yoksa koyduğun kodlara yazık oluyor bu şekilde.

    YanıtlaSil