Come impostare programmaticamente il ruolo predefinito per i nuovi utenti?
Vorrei che i nuovi utenti del blog abbiano un ruolo personalizzato, invece che Sottoscrittore. Come posso impostarlo programmaticamente? So che può essere modificato dal backend.

Ciò consente ai plugin di sovrascrivere facilmente il ruolo predefinito mentre sono attivi.
// Sovrascrivi l'opzione, il ruolo seguirà!
add_filter('pre_option_default_role', function($default_role){
// Puoi anche aggiungere condizioni qui e restituire ciò che vuoi
return 'subscriber'; // Questo valore viene modificato
return $default_role; // Questo mantiene il valore predefinito
});
Lo utilizzo per assicurarmi che alcuni plugin che necessitano del ruolo di subscriber lo ottengano indipendentemente dai tentativi di modifica dell'Amministratore :)
Cordiali saluti.

Quando un nuovo utente viene creato tramite la funzione wp_insert_user()
, il ruolo viene impostato con il metodo set_role()
della classe User
e viene assegnato al ruolo predefinito degli utenti.
Il ruolo predefinito degli utenti viene recuperato dal database tramite get_option('default_role')
e può essere configurato tramite la Dashboard di Amministrazione andando su Impostazioni > Generali > Ruolo predefinito per nuovi utenti.
Se hai registrato un nuovo ruolo (utilizzando add_role()
), dovrebbe essere disponibile in quella sezione per poterlo selezionare.
In alternativa, per un maggiore controllo puoi agganciarti alle azioni user_register
o profile_update
per poi impostare il ruolo set_role
in modo condizionale, o in qualsiasi altro modo preferisci.

Dopo aver creato l'utente utilizzando
$user_id = wp_create_user( $user_login, $pas1, $user_email );
Crea l'oggetto utente
$user = new WP_User($user_id);
Quindi imposta il ruolo
$user->set_role('editor');
Puoi sostituire il ruolo 'editor' con uno dei seguenti:
Amministratore
Editore
Autore
Collaboratore
Sottoscrittore

Perché?? Non ha alcun senso inserire il tuo codice da qualche parte senza sapere cosa fa o come funziona
