SHOW:
|
|
- or go back to the newest paste.
1 | - | //extra registration fields |
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 | - | add_action( 'rcp_edit_member', 'pw_rcp_save_user_fields_on_profile_save', 10 ); |
165 | + | |
166 | ||
167 | - | //agree to our terms of use |
167 | + | |
168 | - | function pippin_rcp_terms_of_use_field() { |
168 | + | |
169 | - | ob_start(); ?> |
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 ); |