l'autorisation de l'utilisateur - le code de déclenchement sur le rôle de l'utilisateur (Wordpress)

StackOverflow https://stackoverflow.com/questions/2070658

Question

Je développe un plugin personnalisé en PHP si les plugins existants ne sont pas utilisables. Ce que je veux atteindre est que je veux afficher différentes URL dans un message pour certains utilisateurs. Pour les utilisateurs qui sont enregistrés dans wordpress, m'a contacté et sont « approuvés ». Je veux mettre en place ce champ de profil d'utilisateur supplémentaire que je peux utiliser ce champ dans un état. Ainsi, les clients et les utilisateurs sans ce domaine ou sans la bonne valeur dans ce domaine auront url1 mais les autres URL2.

exigences

  • seuls les utilisateurs ayant le rôle admin
  • peut créer / modifier champ supplémentaire de profil utilisateur
  • pour tous les autres utilisateurs

Je sais comment je peux ajouter le champ supplémentaire du profil utilisateur dans Wordpress (voir les liens ci-dessous), mais je ne sais pas comment limiter l 'édition ce domaine aux utilisateurs dans un rôle donné et comment l'utilisateur avec le rôle d'administrateur peut créer / modifier ce dépôt pour tous les utilisateurs. Il me semble que je dois ajouter un nouveau code sous le tableau de bord wordpress / utilisateurs / nouvel utilisateur et / ou le tableau de bord / utilisateurs / auteurs et utilisateurs.

Je l'ai fait une recherche google et trouvé quelques sites sur la façon d'ajouter le champ supplémentaire du profil utilisateur

Il me semble que Ajout et l'utilisation des champs de profil utilisateur personnalisé est presque ce que je veux faire, mais je ne sais toujours pas comment gérer le « seul administrateur peut le faire.

Était-ce utile?

La solution

Que diriez-vous ceci:

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

voir ce lien à propos crowdsourcing

Donc, avec ce qui précède, et ce lien que vous avez donné, peut-être quelque chose comme ceci:

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 }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top