Cum pot să restaurez capacitățile de administrator?
Da, sunt un geniu. Am reușit să șterg toate capacitățile mele de administrator (mulțumesc mult plugin-ului Membership). Aș putea să le restaurez, ...dacă aș avea acces de administrator, lol.
În fine, cum pot să îmi redau toate capacitățile de administrator? Am acces la baza de date prin PHPMyAdmin dar nu am idee unde sau ce să adaug înapoi în baza de date.
Orice ajutor ar fi apreciat. Mulțumesc!
Șirul de mai jos reprezintă de fapt un array în formă serializată.
a:1:{s:13:"administrator";s:1:"1";}
Explicație:
a:1 înseamnă un array cu un singur element
s:13 înseamnă string și lungimea șirului urmată de
Array
{
"administrator" => "1"
}
Odată ce acest lucru este în tabel, puteți folosi funcția unserialize() pentru a-l converti înapoi într-un array pentru utilizarea în cod.
Mulțumesc mult.

a = array (tabel), s = string. Numărul reprezintă dimensiunea elementului. Este serializare standard PHP.
a:1 = următorul element este un array cu un singur element, s:13 = următorul element este un string de 13 caractere, s:1 = următorul element este un string de un singur caracter

Am întâmpinat aceeași problemă și a funcționat pentru mine. Dar iată o întrebare mai provocatoare: cum se poate ca asta să se întâmple? Singurul plugin pe care îl folosesc este JWT pentru autentificare și un șablon personalizat pentru lucruri legate de API. Nu modific nicio permisiune și nici măcar nu adaug vreun plugin/șablon necunoscut pe site-ul meu. Mă întreb de ce s-a întâmplat asta.

Bine, îmi cer scuze pentru întrebare. Am rezolvat singur. Dar pentru cei care vor avea aceeași problemă în viitor, iată o sugestie.
Pasul 1 (BACKUP!!!!) - fă o copie de rezervă a bazei de date. Dacă următorul pas cauzează probleme și nu ai o copie de rezervă, e vina ta.
Pasul 2 - Folosește PHPMyAdmin sau un instrument similar pentru a accesa baza de date, găsește tabelul wp_usermeta și sortează după user_id. Utilizatorul #1 este administratorul tău. Apoi găsește câmpul wp_capabilities și dă click pe edit (aici a apărut problema la mine).
Am înlocuit ceea ce aveam și care era defect. Am înlocuit asta:
a:3:{s:15:"membershipadmin";s:1:"1";s:10:"M_add_ping";s:1:"1";s:10:"subscriber";s:1:"1";}
cu asta (pe care am copiat-o dintr-o altă bază de date 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";}
Înainte să verific singur răspunsul meu, poate cineva să îmi confirme soluția sau să explice conținutul acestui câmp și cum ar trebui să fie listat corect? Poți lua răspunsul meu și să îl rescrii ca al tău, iar dacă este corect, voi bifa răspunsul tău.

Nu va fi întotdeauna user_id 1 (deși în general va fi acesta). Ar trebui să accesați tabelul de utilizatori, să găsiți numele de utilizator pe care doriți să îl faceți administrator, să notați user_id, apoi să folosiți metoda menționată mai sus, dar pentru acel user_id.

Am făcut modificările în baza de date conform instrucțiunilor, dar când m-am autentificat ca administrator tot nu am putut modifica utilizatorii sau paginile.
Când am comparat câmpul pentru rolurile utilizatorilor din baza de date, am observat că este diferit față de alte instalări WordPress. Soluția mea a fost următoarea:
Găsiți câmpul numit "wp_user_roles" în tabela [prefix_baza_de_date]_options, de exemplu "wp_options", și asigurați-vă că conține toate capabilitățile pentru administratori. Este un șir serializat cu multă informație, așa că cred că cel mai simplu este să copiați datele dintr-o instalare WordPress curată.

Am avut aceeași problemă și niciuna dintre aceste soluții nu m-a ajutat.
Ce a funcționat în final pentru mine a fost:
- Autentifică-te în PHP Admin pentru a edita baza de date
- Găsește tabelul wp_usermeta și verifică care este ID-ul administratorului (probabil 1)
- Acum găsește câmpul wp_capabilities
- Înlocuiește linia cu următorul conținut:
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;}
Actualizează și acum vei avea permisiuni pentru tot în plugin-ul de membrii.

Poți să adaugi, te rog, o explicație despre cum poate fi utilizat codul pe care îl arăți? Altfel, nu este foarte util.

În același mod ca toate răspunsurile de mai sus. Totuși, îl voi actualiza.

Acest lucru este destul de simplu. Tot ce am făcut a fost să deschid phpmyadmin, am selectat o bază de date de la vechiul meu website pe care l-am creat, am căutat wp_usermeta
, am dat click pe user_capabilities
, și deoarece ID-ul de administrator este 1, tot ce am făcut a fost să copiez șirurile
(a:2:{s:13:"administrator";b:1;s:13:"bbp_keymaster";b:1;})
și să le lipesc în baza mea de date problematică. Am dat click pe salvare, m-am deconectat și m-am reconectat, iar rolurile mele au revenit.
