I would like to make the email field on the profile page for subscribers read only. They can see their email but not change it. I want only admins to to be able to change users email address.
2 Answers
Although the readonly attribute can be removed using Chrome/Firebug inspector (making the field editable again), much probably the average user will not know this.
<?php
function wpse50730_script_enqueuer(){
if(current_user_can('subscriber')) {
echo '<script type="text/javascript">
jQuery(document).ready( function($) {
$(".form-table #email").attr("readonly", true);
});
</script>';
}
}
add_action('admin_head-profile.php', 'wpse50730_script_enqueuer');