Cum rezolv eroarea "Nu aveți permisiunea să editați acest element" pentru Administratori la postările existente?

22 ian. 2016, 14:42:18
Vizualizări: 30.8K
Voturi: 3

Lucrez pentru un client nou (non-tehnic, fostul lor specialist tehnic a plecat). Versiunea lor de WordPress este 4.3.2.

Am un cont de administrator și nu pot edita postările existente. Pot crea unele noi și le pot edita pe acestea, dar nu pot edita postările existente.

Link-urile de editare nu apar și dacă introduc manual un URL pe care îl construiesc (/wp-admin/post.php?post=1375&action=edit)

Primesc acest mesaj de eroare:

Nu aveți permisiunea să editați acest element.

Am acces complet la sistemul de fișiere, baza de date etc. cum pot rezolva această problemă pentru a putea edita postările existente prin interfața WordPress?

Observ că plugin-ul User Role Editor este instalat.

L-am activat și actualizat. Acesta arată că administratorii au permisiuni complete.

administratorii au permisiuni complete

5
Comentarii

Ești 100% sigur că utilizatorul tău are rolul de Administrator? Dacă da, atunci aceasta ar putea fi din cauza unui plugin, așa că procedura standard de depanare este următoarea: Dezactivează toate pluginurile și treci la o temă implicită. Vezi dacă problema persistă. Dacă acum funcționează, activează totul unul câte unul și verifică când se întrerupe.

kraftner kraftner
22 ian. 2016 14:54:24

Mulțumesc @kraftner. Sunt 99.9% sigur :) În rolurile utilizatorului apare ca administrator și am creat și un alt utilizator (același rezultat) mulțumesc pentru pontul cu dezactivarea pluginurilor (49 în total, 23 active, 26 inactive)

David Silva Smith David Silva Smith
22 ian. 2016 14:58:54

Uau, cu atâtea pluginuri, șansele ca unul să fie vinovat sunt destul de mari. Și nu faci asta pe site-ul live, ci pe o clonă locală, nu? :)

kraftner kraftner
22 ian. 2016 15:00:24

lol, aș vrea să existe un site clon. Încă nu le-am dezactivat pe toate și nu știu suficient despre WP pentru a ști dacă asta poate cauza probleme. Cred că voi încerca acest (hack?) http://wordpress.stackexchange.com/questions/65418/admins-cant-edit-each-others-posts Încerc să localizez fișierul corect functions.php (sunt multe)

David Silva Smith David Silva Smith
22 ian. 2016 15:07:13

Atunci eu ies din discuție. A te juca cu drepturile de admin și plugin-uri pe un site live e ca și cum ai face operație la inimă cu mâinele murdare și legat la ochi.

kraftner kraftner
22 ian. 2016 15:11:57
Toate răspunsurile la întrebare 1
2

Am rezolvat această problemă prin editarea fișierului /wp-includes/capabilities.php

Codul original era

function current_user_can( $capability ) {
    $current_user = wp_get_current_user();

    if ( empty( $current_user ) )
        return false;

    $args = array_slice( func_get_args(), 1 );
    $args = array_merge( array( $capability ), $args );

    return call_user_func_array( array( $current_user, 'has_cap' ), $args );
}

și l-am modificat în

function current_user_can( $capability ) {
    $current_user = wp_get_current_user();

    if ( empty( $current_user ) )
        return false;

    if (is_admin())
        return true;
    $args = array_slice( func_get_args(), 1 );
    $args = array_merge( array( $capability ), $args );

    return call_user_func_array( array( $current_user, 'has_cap' ), $args );
}
22 ian. 2016 15:38:18
Comentarii

nu ar trebui să modifici fișierele de sistem WordPress deoarece data viitoare când vei actualiza nucleul, modificările tale vor fi suprascrise

Stan Stan
11 mai 2016 04:28:32

Susțin comentariul lui @Stan. Editarea fișierelor nucleu este o soluție temporară care ar putea fi suprascrisă fără să-ți dai seama dacă ai actualizări automate activate.

Gary Gary
29 nov. 2016 18:57:26