SNIPPET · GRATUITO
Impedisci ai Subscriber di accedere a wp-admin
Gli utenti devono accedere al sito, ma non alla dashboard? Questo snippet reindirizza i Subscriber alla home quando provano ad aprire /wp-admin/.
Il codice
Le richieste AJAX continuano a funzionare normalmente. Gli utenti che possono modificare contenuti non vengono bloccati, anche se possiedono anche il ruolo Subscriber.
/**
* Redirect WordPress Subscribers away from wp-admin.
*/
add_action( 'admin_init', function () {
if ( wp_doing_ajax() ) {
return;
}
$user = wp_get_current_user();
if ( ! $user || ! $user->exists() ) {
return;
}
$is_subscriber = in_array( 'subscriber', (array) $user->roles, true );
$can_edit = current_user_can( 'edit_posts' );
if ( $is_subscriber && ! $can_edit ) {
wp_safe_redirect( home_url( '/' ) );
exit;
}
} );
È un redirect dell’interfaccia amministrativa, non un confine di sicurezza. Non protegge contenuti pubblici e non sostituisce le capability di WordPress.
Come usarlo
- Installa Code Snippets Free su WordPress.
- Crea un nuovo snippet PHP.
- Copia e incolla il codice.
- Attivalo nell’ambito indicato.
È un metodo semplice, non obbligatorio: puoi integrare il codice nel tuo plugin o nel punto appropriato. Per gli esempi Gravity Forms configura gli ID e gli eventuali provider prima di attivare.