l'autorizzazione per l'utente - innescando codice sul ruolo utente (Wordpress)
-
20-09-2019 - |
Domanda
sto sviluppando un plug-in personalizzato in PHP in modo plugin esistenti non sono utilizzabili. Quello che voglio ottenere è che voglio visualizzare URL diverso all'interno di un post per alcuni utenti. Per gli utenti che sono registrati in WordPress, mi ha contattato e sono 'approvato'. Voglio impostare questo campo del profilo utente in più in modo da poter utilizzare questo campo in una condizione. Così gli ospiti e gli utenti senza questo campo o senza il giusto valore in questo campo avranno url1 ma gli altri URL2.
Requisiti
- Solo gli utenti con ruolo di amministratore
- può creare / modificare in più campo del profilo utente
- per tutti gli altri utenti
Io so come posso aggiungere campo del profilo utente in più in Wordpress (vedi i link qui sotto), ma non so come limitare la modifica di quel campo per gli utenti in un determinato ruolo e come utente con ruolo di amministratore può creare / modificare questo ha presentato istanza di tutti gli utenti. Mi sembra che devo aggiungere nuovo codice sotto wordpress cruscotto / utenti / nuovo utente e / o cruscotto / utenti / autori e gli utenti.
Ho fatto qualche ricerca su google e ho trovato alcuni siti su come aggiungere il campo profilo utente aggiuntivo
- Aggiunta e utilizzando utente personalizzata campi del profilo
- utente Contatto I campi in WordPress 2.9
- aggiungere dati al campo utente a WordPress
Mi sembra che Aggiunta e utilizzando i campi del profilo utente personalizzato è quasi quello che voglio fare, ma io ancora non so come gestire "l'unica admin' in grado di farlo.
Soluzione
Che ne dite di questo:
$ID="2";
$user = new WP_User($ID);
if ($user->wp_capabilities['administrator']==1) {
//code here
}
vedi questo link su funzionalità utente per wordpress
Quindi, con quanto sopra, e che link che hai dato, forse qualcosa di simile:
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 }