Come risolvere "Non sei autorizzato a modificare questo elemento" per gli Admin sui post esistenti?
Sto facendo alcuni lavori per un nuovo cliente (non tecnico, il loro precedente tecnico se n'è andato). La loro versione di WordPress è 4.3.2.
Ho un account amministratore e non riesco a modificare i post esistenti. Posso crearne di nuovi e modificarli, ma non posso modificare i post già presenti.
I link di modifica non vengono mostrati e se inserisco un URL che costruisco manualmente (come /wp-admin/post.php?post=1375&action=edit
)
Ricevo questo messaggio di errore:
Non sei autorizzato a modificare questo elemento.
Ho pieno accesso al filesystem, al database, ecc. Come posso risolvere questo problema in modo da poter modificare i post esistenti attraverso l'interfaccia di WordPress?
Vedo che è installato il plugin User Role Editor.
L'ho attivato e aggiornato. Mostra che gli amministratori hanno permessi completi.
Ho risolto modificando il file /wp-includes/capabilities.php
Il codice originale 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 );
}
e l'ho modificato in
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 );
}

non dovresti modificare i file di sistema di WordPress perché la prossima volta che aggiornerai il core, le tue modifiche verranno sovrascritte
