SNIPPET · GRATUITO

WordPressAccesso

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.

PHP · WordPress · Code Snippets compatible
/**
 * 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

  1. Installa Code Snippets Free su WordPress.
  2. Crea un nuovo snippet PHP.
  3. Copia e incolla il codice.
  4. 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.