View difference between Paste ID: 3vAddyZN and e9Fipp9T
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 );