Advertisement
Guest User

Untitled

a guest
May 19th, 2014
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2. * Adds the custom fields to the registration form and profile editor
  3. *
  4. */
  5. function pw_rcp_add_user_fields() {
  6.  
  7. $jobtitle = get_user_meta( get_current_user_id(), 'rcp_jobtitle', true );
  8. $companyname = get_user_meta( get_current_user_id(), 'rcp_companyname', true );
  9. $telephone = get_user_meta( get_current_user_id(), 'rcp_telephone', true );
  10. $address = get_user_meta( get_current_user_id(), 'rcp_address', true );
  11.  
  12. ?>
  13. <p id="rcp_jobtitle_wrap">
  14. <label for="rcp_jobtitle"><?php _e( 'Job Title', 'rcp' ); ?></label>
  15. <input name="rcp_jobtitle" id="rcp_jobtitle" type="text" value="<?php echo esc_attr( $jobtitle ); ?>"/>
  16. </p>
  17. <p id="rcp_companyname_wrap">
  18. <label for="rcp_companyname"><?php _e( 'Company Name', 'rcp' ); ?></label>
  19. <input name="rcp_companyname" id="rcp_companyname" type="text" value="<?php echo esc_attr( $companyname ); ?>"/>
  20. </p>
  21. <p id="rcp_telephone_wrap">
  22. <label for="rcp_telephone"><?php _e( 'Telephone', 'rcp' ); ?></label>
  23. <input name="rcp_telephone" id="rcp_telephone" type="text" value="<?php echo esc_attr( $telephone ); ?>"/>
  24. </p>
  25. <p id="rcp_address_wrap">
  26. <label for="rcp_address"><?php _e( 'Address', 'rcp' ); ?></label>
  27. <input name="rcp_address" id="rcp_address" type="text" value="<?php echo esc_attr( $address ); ?>"/>
  28. </p>
  29. <p>
  30. <input name="rcp_terms_agreement" id="rcp_terms_agreement" class="required" type="checkbox" />
  31. <label for="rcp_terms_agreement"><?php _e('Agree to our Terms & Conditions', 'rcp'); ?></label>
  32. </p>
  33. <?php
  34. }
  35. add_action( 'rcp_after_password_registration_field', 'pw_rcp_add_user_fields' );
  36. add_action( 'rcp_profile_editor_after', 'pw_rcp_add_user_fields' );
  37.  
  38. //add edit member screen fields
  39. /**
  40. * Adds the custom fields to the member edit screen
  41. *
  42. */
  43. function pw_rcp_add_member_edit_fields( $user_id = 0 ) {
  44.  
  45. $jobtitle = get_user_meta( $user_id, 'rcp_jobtitle', true );
  46. $companyname = get_user_meta( $user_id, 'rcp_companyname', true );
  47. $telephone = get_user_meta( $user_id, 'rcp_telephone', true );
  48. $address = get_user_meta( $user_id, 'rcp_address', true );
  49.  
  50. ?>
  51. <tr valign="top">
  52. <th scope="row" valign="top">
  53. <label for="rcp_jobtitle"><?php _e( 'Job Title', 'rcp' ); ?></label>
  54. </th>
  55. <td>
  56. <input name="rcp_jobtitle" id="rcp_jobtitle" type="text" value="<?php echo esc_attr( $jobtitle ); ?>"/>
  57. <p class="description"><?php _e( 'Job Title', 'rcp' ); ?></p>
  58. </td>
  59. </tr>
  60. <tr valign="top">
  61. <th scope="row" valign="top">
  62. <label for="rcp_companyname"><?php _e( 'Company Name', 'rcp' ); ?></label>
  63. </th>
  64. <td>
  65. <input name="rcp_companyname" id="rcp_companyname" type="text" value="<?php echo esc_attr( $companyname ); ?>"/>
  66. <p class="description"><?php _e( 'Company Name', 'rcp' ); ?></p>
  67. </td>
  68. </tr>
  69. <tr valign="top">
  70. <th scope="row" valign="top">
  71. <label for="rcp_telephone"><?php _e( 'Telephone', 'rcp' ); ?></label>
  72. </th>
  73. <td>
  74. <input name="rcp_telephone" id="rcp_telephone" type="text" value="<?php echo esc_attr( $telephone ); ?>"/>
  75. <p class="description"><?php _e( 'Telephone', 'rcp' ); ?></p>
  76. </td>
  77. </tr>
  78. <tr valign="top">
  79. <th scope="row" valign="top">
  80. <label for="rcp_address"><?php _e( 'Address', 'rcp' ); ?></label>
  81. </th>
  82. <td>
  83. <input name="rcp_address" id="rcp_address" type="text" value="<?php echo esc_attr( $address ); ?>"/>
  84. <p class="description"><?php _e( 'Address', 'rcp' ); ?></p>
  85. </td>
  86. </tr>
  87. <?php
  88. }
  89. add_action( 'rcp_edit_member_after', 'pw_rcp_add_member_edit_fields' );
  90.  
  91. //check for errors
  92. /**
  93. * Determines if there are problems with the registration data submitted
  94. *
  95. */
  96. function pw_rcp_validate_user_fields_on_register( $posted ) {
  97.  
  98. if( empty( $posted['rcp_jobtitle'] ) ) {
  99. rcp_errors()->add( 'invalid_jobtitle', __( 'Please enter your job title', 'rcp' ), 'register' );
  100. }
  101.  
  102. if( empty( $posted['rcp_companyname'] ) ) {
  103. rcp_errors()->add( 'invalid_companyname', __( 'Please enter your company name', 'rcp' ), 'register' );
  104. }
  105.  
  106. if( empty( $posted['rcp_telephone'] ) ) {
  107. rcp_errors()->add( 'invalid_telephone', __( 'Please enter your telephone', 'rcp' ), 'register' );
  108. }
  109.  
  110. if( empty( $posted['rcp_address'] ) ) {
  111. rcp_errors()->add( 'invalid_address', __( 'Please enter your address', 'rcp' ), 'register' );
  112. }
  113.  
  114. if( empty( $posted['rcp_terms_agreement'] ) ) {
  115. //the field was not checked
  116. rcp_errors()->add('agree_to_terms', __('You must agree to our terms of use', 'rcp'), 'register');
  117. }
  118.  
  119. }
  120. add_action( 'rcp_form_errors', 'pw_rcp_validate_user_fields_on_register', 10 );
  121.  
  122. //save data
  123. /**
  124. * Stores the information submitted during registration
  125. *
  126. */
  127. function pw_rcp_save_user_fields_on_register( $posted, $user_id ) {
  128.  
  129. if( ! empty( $posted['rcp_jobtitle'] ) ) {
  130. update_user_meta( $user_id, 'rcp_jobtitle', sanitize_text_field( $posted['rcp_jobtitle'] ) );
  131. }
  132.  
  133. if( ! empty( $posted['rcp_companyname'] ) ) {
  134. update_user_meta( $user_id, 'rcp_companyname', sanitize_text_field( $posted['rcp_companyname'] ) );
  135. }
  136.  
  137. if( ! empty( $posted['rcp_telephone'] ) ) {
  138. update_user_meta( $user_id, 'rcp_telephone', sanitize_text_field( $posted['rcp_telephone'] ) );
  139. }
  140.  
  141. if( ! empty( $posted['rcp_address'] ) ) {
  142. update_user_meta( $user_id, 'rcp_address', sanitize_text_field( $posted['rcp_address'] ) );
  143. }
  144.  
  145. }
  146. add_action( 'rcp_form_processing', 'pw_rcp_save_user_fields_on_register', 10, 2 );
  147.  
  148. //member or profile edit save
  149. /**
  150. * Stores the information submitted profile update
  151. *
  152. */
  153. function pw_rcp_save_user_fields_on_profile_save( $user_id ) {
  154.  
  155. if( ! empty( $_POST['rcp_jobtitle'] ) ) {
  156. update_user_meta( $user_id, 'rcp_jobtitle', sanitize_text_field( $_POST['rcp_jobtitle'] ) );
  157. }
  158.  
  159. if( ! empty( $_POST['rcp_companyname'] ) ) {
  160. update_user_meta( $user_id, 'rcp_companyname', sanitize_text_field( $_POST['rcp_companyname'] ) );
  161. }
  162.  
  163. if( ! empty( $_POST['rcp_telephone'] ) ) {
  164. update_user_meta( $user_id, 'rcp_telephone', sanitize_text_field( $_POST['rcp_telephone'] ) );
  165. }
  166.  
  167. if( ! empty( $_POST['rcp_address'] ) ) {
  168. update_user_meta( $user_id, 'rcp_address', sanitize_text_field( $_POST['rcp_address'] ) );
  169. }
  170.  
  171. }
  172. add_action( 'rcp_user_profile_updated', 'pw_rcp_save_user_fields_on_profile_save', 10 );
  173. add_action( 'rcp_edit_member', 'pw_rcp_save_user_fields_on_profile_save', 10 );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement