Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //extra registration fields
- /**
- * Adds the custom fields to the registration form and profile editor
- *
- */
- function pw_rcp_add_user_fields() {
- $jobtitle = get_user_meta( get_current_user_id(), 'rcp_jobtitle', true );
- $companyname = get_user_meta( get_current_user_id(), 'rcp_companyname', true );
- $telephone = get_user_meta( get_current_user_id(), 'rcp_telephone', true );
- $address = get_user_meta( get_current_user_id(), 'rcp_address', true );
- ?>
- <p id="rcp_jobtitle_wrap">
- <label for="rcp_jobtitle"><?php _e( 'Job Title', 'rcp' ); ?></label>
- <input name="rcp_jobtitle" id="rcp_jobtitle" type="text" value="<?php echo esc_attr( $jobtitle ); ?>"/>
- </p>
- <p id="rcp_companyname_wrap">
- <label for="rcp_companyname"><?php _e( 'Company Name', 'rcp' ); ?></label>
- <input name="rcp_companyname" id="rcp_companyname" type="text" value="<?php echo esc_attr( $companyname ); ?>"/>
- </p>
- <p id="rcp_telephone_wrap">
- <label for="rcp_telephone"><?php _e( 'Telephone', 'rcp' ); ?></label>
- <input name="rcp_telephone" id="rcp_telephone" type="text" value="<?php echo esc_attr( $telephone ); ?>"/>
- </p>
- <p id="rcp_address_wrap">
- <label for="rcp_address"><?php _e( 'Address', 'rcp' ); ?></label>
- <input name="rcp_address" id="rcp_address" type="text" value="<?php echo esc_attr( $address ); ?>"/>
- </p>
- <?php
- }
- add_action( 'rcp_after_password_registration_field', 'pw_rcp_add_user_fields' );
- add_action( 'rcp_profile_editor_after', 'pw_rcp_add_user_fields' );
- //add edit member screen fields
- /**
- * Adds the custom fields to the member edit screen
- *
- */
- function pw_rcp_add_member_edit_fields( $user_id = 0 ) {
- $jobtitle = get_user_meta( get_current_user_id(), 'rcp_jobtitle', true );
- $companyname = get_user_meta( get_current_user_id(), 'rcp_companyname', true );
- $telephone = get_user_meta( get_current_user_id(), 'rcp_telephone', true );
- $address = get_user_meta( get_current_user_id(), 'rcp_address', true );
- ?>
- <tr valign="top">
- <th scope="row" valign="top">
- <label for="rcp_jobtitle"><?php _e( 'Job Title', 'rcp' ); ?></label>
- </th>
- <td>
- <input name="rcp_jobtitle" id="rcp_jobtitle" type="text" value="<?php echo esc_attr( $jobtitle ); ?>"/>
- <p class="description"><?php _e( 'Job Title', 'rcp' ); ?></p>
- </td>
- </tr>
- <tr valign="top">
- <th scope="row" valign="top">
- <label for="rcp_companyname"><?php _e( 'Company Name', 'rcp' ); ?></label>
- </th>
- <td>
- <input name="rcp_companyname" id="rcp_companyname" type="text" value="<?php echo esc_attr( $companyname ); ?>"/>
- <p class="description"><?php _e( 'Company Name', 'rcp' ); ?></p>
- </td>
- </tr>
- <tr valign="top">
- <th scope="row" valign="top">
- <label for="rcp_telephone"><?php _e( 'Telephone', 'rcp' ); ?></label>
- </th>
- <td>
- <input name="rcp_telephone" id="rcp_telephone" type="text" value="<?php echo esc_attr( $telephone ); ?>"/>
- <p class="description"><?php _e( 'Telephone', 'rcp' ); ?></p>
- </td>
- </tr>
- <tr valign="top">
- <th scope="row" valign="top">
- <label for="rcp_address"><?php _e( 'Address', 'rcp' ); ?></label>
- </th>
- <td>
- <input name="rcp_address" id="rcp_address" type="text" value="<?php echo esc_attr( $address ); ?>"/>
- <p class="description"><?php _e( 'Address', 'rcp' ); ?></p>
- </td>
- </tr>
- <?php
- }
- add_action( 'rcp_edit_member_after', 'pw_rcp_add_member_edit_fields' );
- //check for errors
- /**
- * Determines if there are problems with the registration data submitted
- *
- */
- function pw_rcp_validate_user_fields_on_register( $posted ) {
- if( empty( $posted['rcp_jobtitle'] ) ) {
- rcp_errors()->add( 'invalid_jobtitle', __( 'Please enter your job title', 'rcp' ), 'register' );
- }
- if( empty( $posted['rcp_companyname'] ) ) {
- rcp_errors()->add( 'invalid_companyname', __( 'Please enter your company name', 'rcp' ), 'register' );
- }
- if( empty( $posted['rcp_telephone'] ) ) {
- rcp_errors()->add( 'invalid_telephone', __( 'Please enter your telephone', 'rcp' ), 'register' );
- }
- if( empty( $posted['rcp_address'] ) ) {
- rcp_errors()->add( 'invalid_address', __( 'Please enter your address', 'rcp' ), 'register' );
- }
- }
- add_action( 'rcp_form_errors', 'pw_rcp_validate_user_fields_on_register', 10 );
- //save data
- /**
- * Stores the information submitted during registration
- *
- */
- function pw_rcp_save_user_fields_on_register( $posted, $user_id ) {
- if( ! empty( $posted['rcp_jobtitle'] ) ) {
- update_user_meta( $user_id, 'rcp_jobtitle', sanitize_text_field( $posted['rcp_jobtitle'] ) );
- }
- if( ! empty( $posted['rcp_companyname'] ) ) {
- update_user_meta( $user_id, 'rcp_companyname', sanitize_text_field( $posted['rcp_companyname'] ) );
- }
- if( ! empty( $posted['rcp_telephone'] ) ) {
- update_user_meta( $user_id, 'rcp_telephone', sanitize_text_field( $posted['rcp_telephone'] ) );
- }
- if( ! empty( $posted['rcp_address'] ) ) {
- update_user_meta( $user_id, 'rcp_address', sanitize_text_field( $posted['rcp_address'] ) );
- }
- }
- add_action( 'rcp_form_processing', 'pw_rcp_save_user_fields_on_register', 10, 2 );
- //member or profile edit save
- /**
- * Stores the information submitted profile update
- *
- */
- function pw_rcp_save_user_fields_on_profile_save( $user_id ) {
- if( ! empty( $_POST['rcp_jobtitle'] ) ) {
- update_user_meta( $user_id, 'rcp_jobtitle', sanitize_text_field( $_POST['rcp_jobtitle'] ) );
- }
- if( ! empty( $_POST['rcp_companyname'] ) ) {
- update_user_meta( $user_id, 'rcp_companyname', sanitize_text_field( $_POST['rcp_companyname'] ) );
- }
- if( ! empty( $_POST['rcp_telephone'] ) ) {
- update_user_meta( $user_id, 'rcp_telephone', sanitize_text_field( $_POST['rcp_telephone'] ) );
- }
- if( ! empty( $_POST['rcp_address'] ) ) {
- update_user_meta( $user_id, 'rcp_address', sanitize_text_field( $_POST['rcp_address'] ) );
- }
- }
- add_action( 'rcp_user_profile_updated', 'pw_rcp_save_user_fields_on_profile_save', 10 );
- add_action( 'rcp_edit_member', 'pw_rcp_save_user_fields_on_profile_save', 10 );
- //agree to our terms of use
- function pippin_rcp_terms_of_use_field() {
- ob_start(); ?>
- <p>
- <input name="rcp_terms_agreement" id="rcp_terms_agreement" class="required" type="checkbox" />
- <label for="rcp_terms_agreement"><?php _e('Agree to our Terms & Conditions', 'rcp'); ?></label>
- </p>
- <?php
- echo ob_get_clean();
- }
- add_action('rcp_after_password_registration_field', 'pippin_rcp_terms_of_use_field');
- function pippin_rcp_check_for_agreement($posted) {
- if(!isset($posted['rcp_terms_agreement'])) {
- //the field was not checked
- rcp_errors()->add('agree_to_terms', __('You must agree to our terms of use', 'rcp'), 'register');
- }
- }
- add_action('rcp_form_errors', 'pippin_rcp_check_for_agreement');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement