Come posso ripristinare le funzionalità di amministratore?
Sì, sono un genio. Sono riuscito a cancellare tutte le mie funzionalità di amministratore (grazie mille plugin Membership). Potrei ripristinarle... se avessi l'accesso amministratore, lol.
Comunque, come posso ripristinare tutte le mie funzionalità di amministratore? Ho accesso al database tramite PHPMyAdmin ma non ho idea di dove o cosa aggiungere di nuovo al DB.
Qualsiasi aiuto sarebbe apprezzato. Grazie!

La stringa qui sotto rappresenta effettivamente un array in forma serializzata.
a:1:{s:13:"administrator";s:1:"1";}
Dove:
a:1 indica un array con un singolo elemento
s:13 significa stringa e la lunghezza della stringa che segue
Array
{
"administrator" => "1"
}
Una volta che questi dati sono nella tabella, puoi utilizzare la funzione unserialize() per riconvertirli in un array da usare nel tuo codice.
Grazie mille.

a = array, s = string. Il numero rappresenta la dimensione dell'elemento. È la serializzazione standard di PHP.
a:1 = il prossimo elemento è un array con un singolo elemento, s:13 = il prossimo elemento è una stringa di 13 caratteri, s:1 = il prossimo elemento è una stringa con un singolo carattere

Ho affrontato lo stesso problema e ha funzionato per me. Ma ecco una domanda più impegnativa: come mai succede? L'unico plugin che uso è JWT per l'autenticazione e un Template personalizzato per le cose API. Non sto cambiando alcun permesso o aggiungendo plugin/template sconosciuti al mio sito. Mi chiedo perché sia successo.

Ok, scusa per aver chiesto. Ho risolto. Ma per le persone future, ecco un suggerimento.
Passo 1 (BACKUP!!!!) - fai un backup del tuo database, se il passo successivo ti causa problemi e non hai un backup è colpa tua.
Passo 2 - Usa PHPMyAdmin o uno strumento simile per accedere al tuo DB, trova la tabella wp_usermeta e poi ordina per user_id. L'utente #1 è il tuo admin. Poi trova il campo wp_capabilities e clicca su modifica (questa è la parte che si è incasinata).
Ho sostituito quello che avevo che era danneggiato. Questo:
a:3:{s:15:"membershipadmin";s:1:"1";s:10:"M_add_ping";s:1:"1";s:10:"subscriber";s:1:"1";}
con questo (che ho copiato da un altro database WP):
a:4:{s:13:"administrator";s:1:"1";s:15:"membershipadmin";s:1:"1";s:11:"M_add_level";s:1:"1";s:10:"M_add_ping";s:1:"1";}
Prima di verificare la mia risposta, qualcuno può confermare la mia soluzione, o spiegare il contenuto di questo campo e come dovrebbe essere correttamente elencato? Puoi prendere la mia risposta e riscriverla come tua, e se è corretta la selezionerò come soluzione.

Ho apportato le modifiche al database come indicato, ma quando ho effettuato l'accesso come amministratore non potevo ancora modificare gli utenti o le pagine.
Confrontando il campo dei ruoli utente nel database, ho notato che era diverso da altre installazioni WordPress. La mia soluzione è stata questa:
Trovare il campo chiamato "wp_user_roles" nella tabella [prefisso database]_options, ad esempio "wp_options", e assicurarsi che abbia tutte le capacità per gli amministratori. È una stringa serializzata con molte informazioni, quindi penso che la cosa più semplice da fare sia copiare i dati da un'installazione WordPress pulita.

Anch'io ho avuto lo stesso problema e nessuna di queste soluzioni mi ha aiutato.
Quella che alla fine ha funzionato per me è stata:
- Accedi al tuo PHP Admin per modificare il database
- Cerca la tabella wp_usermeta e controlla qual è l'ID dell'amministratore (probabilmente 1)
- Ora trova il campo wp_capabilities
- Sostituisci la riga con la seguente:
a:14:{s:13:"administrator";b:1;s:15:"membershipadmin";b:1;s:24:"membershipadmindashboard";b:1;s:22:"membershipadminmembers";b:1;s:21:"membershipadminlevels";b:1;s:28:"membershipadminsubscriptions";b:1;s:22:"membershipadmincoupons";b:1;s:24:"membershipadminpurchases";b:1;s:29:"membershipadmincommunications";b:1;s:21:"membershipadmingroups";b:1;s:20:"membershipadminpings";b:1;s:23:"membershipadmingateways";b:1;s:22:"membershipadminoptions";b:1;s:32:"membershipadminupdatepermissions";b:1;}
Aggiorna e ora avrai i permessi per tutto nel plugin di membership.

Puoi aggiungere una spiegazione su come il codice che mostri può essere utilizzato? Altrimenti non è molto utile.

È piuttosto semplice. Tutto quello che ho fatto è stato aprire phpmyadmin, ho selezionato un database del mio vecchio sito web che avevo creato, ho cercato la tabella wp_usermeta
, ho cliccato su user_capabilities
e, visto che l'ID dell'amministratore è 1, ho semplicemente copiato la stringa
(a:2:{s:13:"administrator";b:1;s:13:"bbp_keymaster";b:1;})
e l'ho incollata nel mio database problematico. Ho cliccato su salva, ho fatto il logout e poi il login e ho riottenuto i miei ruoli.
