¿Cómo solucionar "No tienes permitido editar este elemento" para Administradores en publicaciones existentes?

22 ene 2016, 14:42:18
Vistas: 30.8K
Votos: 3

Estoy haciendo un trabajo para un nuevo cliente (no técnico, su persona técnica anterior se fue). Su versión de WordPress es 4.3.2.

Tengo una cuenta de administrador y no puedo editar publicaciones existentes. Puedo crear nuevas y editarlas, pero no puedo editar las publicaciones existentes.

Los enlaces de edición no se muestran y si construyo manualmente una URL como (/wp-admin/post.php?post=1375&action=edit)

Recibo este mensaje de error:

No tienes permitido editar este elemento.

Tengo acceso completo al sistema de archivos, base de datos, etc. ¿Cómo puedo solucionar este problema para poder editar publicaciones existentes a través de la interfaz de WordPress?

Veo que el plugin User Role Editor está instalado.

Lo activé y lo actualicé. Muestra que los administradores tienen permisos completos.

Los administradores tienen permisos completos en el panel de User Role Editor

5
Comentarios

¿Estás 100% seguro de que tu usuario tiene el rol de Administrador? Si es así, esto podría deberse a algún plugin, así que el procedimiento de depuración estándar es el siguiente: Desactiva todos los plugins y cambia a un tema predeterminado. Verifica si el problema persiste. Si ahora funciona, activa todo uno por uno y comprueba cuándo se rompe.

kraftner kraftner
22 ene 2016 14:54:24

Gracias @kraftner. Estoy 99.9% seguro :) En los roles de usuario aparece como administrador y también he creado otro usuario (mismo resultado). Gracias por el consejo de desactivar plugins (49 en total, 23 activos, 26 inactivos).

David Silva Smith David Silva Smith
22 ene 2016 14:58:54

¡Vaya! Con esa cantidad de plugins, las probabilidades de que uno sea el culpable son bastante altas. Además, no estás haciendo esto en el sitio en vivo sino en un clon local, ¿verdad? :)

kraftner kraftner
22 ene 2016 15:00:24

jaja, ojalá hubiera un sitio clon. Aún no los he deshabilitado todos, no sé lo suficiente sobre WP para saber si eso puede causar problemas. Creo que voy a probar este (¿hack?) http://wordpress.stackexchange.com/questions/65418/admins-cant-edit-each-others-posts Estoy tratando de ubicar el archivo functions.php correcto (hay muchos)

David Silva Smith David Silva Smith
22 ene 2016 15:07:13

Bueno, entonces me retiro. Meterse con permisos de administrador y plugins en un sitio en producción es como hacer cirugía de corazón con las manos sucias y con los ojos vendados.

kraftner kraftner
22 ene 2016 15:11:57
Todas las respuestas a la pregunta 1
2

Solucioné esto editando /wp-includes/capabilities.php

El código 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 );
}

Y lo modifiqué a:

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 ene 2016 15:38:18
Comentarios

no deberías modificar los archivos del sistema de WordPress ya que la próxima vez que actualices el núcleo, tus cambios se sobrescribirán

Stan Stan
11 may 2016 04:28:32

Apoyo el comentario de @Stan. Editar archivos del núcleo es una solución temporal que podría sobrescribirse sin que te des cuenta si tienes las actualizaciones automáticas activadas.

Gary Gary
29 nov 2016 18:57:26