Pergunta

Estou desenvolvendo um plug -in personalizado no PHP para que os plugins existentes não sejam utilizáveis. O que quero alcançar é que quero exibir URL diferente em uma postagem para alguns usuários. Para usuários registrados no WordPress, contacterem -me e são 'aprovados'. Quero configurar este campo de perfil de usuário extra para poder usar esse campo em uma condição. Portanto, convidados e usuários sem esse campo ou sem o valor certo nesse campo receberão URL1, mas os outros URL2.

requisitos

  • Apenas usuários com função de administrador
  • pode criar/editar o campo de perfil de usuário extra
  • Para todos os outros usuários

Eu sei como posso adicionar campo de perfil de usuário extra no WordPress (veja os links abaixo), mas não sei como restringir a edição desse campo aos usuários em uma determinada função e como o usuário com a função de administrador pode criar/editar isso arquivado para todos os usuários. Parece -me que eu tenho que adicionar novo código no WordPress Painel/Usuários/Novo Usuário e/ou Dashboard/Usuários/Autores e Usuários.

Fiz algumas pesquisas no Google e encontrei poucos sites sobre como adicionar campo de perfil de usuário extra

Parece -me que Adicionando e usando campos de perfil de usuário personalizados é quase o que eu quero fazer, mas ainda não sei como gerenciar o "somente administrador" pode fazer isso.

Foi útil?

Solução

Que tal agora:

$ID="2";
$user = new WP_User($ID);
if ($user->wp_capabilities['administrator']==1) {
    //code here
}

Veja este link sobre Recursos do usuário para WordPress

Então, com o exposto, e aquele link que você deu, talvez algo assim:

function my_show_extra_profile_fields( $user ) {
    if ($user->wp_capabilities['administrator']!=1) {
        return false;
    } ?>
    <h3>Extra profile information</h3>

    <table class="form-table">

        <tr>
            <th><label for="twitter">Twitter</label></th>

            <td>
                <input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( 'twitter', $user->ID ) ); ?>" class="regular-text" /><br />
                <span class="description">Please enter your Twitter username.</span>
            </td>
        </tr>

    </table>
<?php }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top