Como você faz o campo de e-mail na página de perfil ser lido apenas para assinantes?

4

Eu gostaria de disponibilizar o campo de e-mail na página de perfil somente para os inscritos. Eles podem ver seu e-mail, mas não alterá-lo. Quero que apenas os administradores possam alterar o endereço de e-mail dos usuários.

    
por Chad Snow 01.05.2012 / 06:36

2 respostas

3

Embora o atributo readonly possa ser removido usando o inspetor do Chrome / Firebug (tornando o campo editável novamente), muito provavelmente o usuário médio não saberá disso.

<?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');
    
por brasofilo 01.05.2012 / 14:12
-1

A resposta do @sofofilo é boa, mas use melhor .prop e a classe .user-email-wrap para evitar impacto em campos #email em outras páginas.

<script type="text/javascript">
    jQuery(document).ready( function($) {
        $(".user-email-wrap #email").prop('disabled', true);
    });     
</script>
    
por mars 05.08.2016 / 23:32