使用jQery填充select字段的方式,当您可以使用filter并使用PHP钩住表单时,例如:
//1. Add a new form element...
add_action(\'register_form\',\'_register_form_wpa103118\');
function _register_form_wpa103118 (){
$name_of_select = ( isset( $_POST[\'name_of_select\'] ) ) ? $_POST[\'name_of_select\']: \'\';
$options = array(
\'Medicine\' => \'Medicine\',
\'Option2\' => \'Option2\',
);
?>
<p>
<label for="name_of_select"><?php _e(\'First Name\',\'mydomain\') ?><br />
<select name="name_of_select">
<?php
foreach ($options as $key => $value) {
$selected = ($value == $name_of_select)? \' selected="selected"\': \'\';
echo \'<option\'.$selected.\' value="\'.$key.\'">\'.$value.\'</option>\';
}
?>
</select>
</p>
<?php
}
//2. Add validation. In this case, we make sure first_name is required.
add_filter(\'registration_errors\', \'_registration_errors_wpa103118\', 10, 3);
function _registration_errors_wpa103118 ($errors, $sanitized_user_login, $user_email) {
if ( empty( $_POST[\'name_of_select\'] ) )
$errors->add( \'name_of_select\', __(\'<strong>ERROR</strong>: You must select ....\') );
return $errors;
}
//3. Finally, save our extra registration user meta. or do whatever you want with it.
add_action(\'user_register\', \'_user_register_wpa103118\');
function _user_register_wpa103118 ($user_id) {
if ( isset( $_POST[\'name_of_select\'] ) )
update_user_meta($user_id, \'name_of_select\', $_POST[\'name_of_select\']);
}