wordpress - solucion - No tiene permisos suficientes para acceder a esta página sin ningún cambio
necesitas un nivel más alto de permisos. (2)
Estoy trabajando en Wordpress y completé mi proyecto localmente. Luego lo moví a mi servidor en vivo y no cambié nada, solo hice cambios en el archivo de configuración (nombre de la base de datos, nombre de usuario y contraseña).
Ahora mi sitio funciona bien en el front-end, pero no puedo acceder al panel de administración ya que cada vez que aparece el mensaje de error:
No tiene permisos suficientes para acceder a esta página.
Las búsquedas en Google indican que la mayoría de los errores se produjeron debido a un cambio en el prefijo, pero en mi caso es el mismo que en el local. Además, los permisos de mis directorios son 755 y los de los archivos son 644, pero todavía tengo el mismo problema.
¿Cómo podría arreglar esto?
¿Ha cambiado el prefijo de las tablas de su base de datos? Estoy 90% seguro, que este es tu problema.
Lo que pasa es que WordPress usa la variable $table_prefix
para formar los nombres de las teclas de opción y usermeta, donde almacena la información de roles y capacidades. Entonces, una vez que cambie el prefijo, pero no actualice su db, obtendrá este error. A continuación le indicamos cómo solucionarlo: ejecute este comando SQL a través de phpMyAdmin, o una interfaz diferente para interactuar con su base de datos (también puede hacerlo con PHP):
UPDATE `{%TABLE_PREFIX%}usermeta` SET `meta_key` = replace(`meta_key`, ''{%OLD_TABLE_PREFIX%}'', ''{%NEW_TABLE_PREFIX%}'');
UPDATE `{%TABLE_PREFIX%}options` SET `option_name` = replace(`option_name`, ''{%OLD_TABLE_PREFIX%}'', ''{%NEW_TABLE_PREFIX%}'');
Dónde:
-
{%TABLE_PREFIX%}
es su$table_prefix
actual (como se establece enwp-config.php
) -
{%OLD_TABLE_PREFIX%}
es tu$table_prefix
anterior -
{%NEW_TABLE_PREFIX%}
es su nuevo$table_prefix
(actual) - lo más probable es que sea el mismo que su{%TABLE_PREFIX%}
.
Entonces, si su antiguo $table_prefix
era wp_test_
y su nuevo es wp_
, haría esta consulta:
UPDATE `wp_usermeta` SET `meta_key` = replace(`meta_key`, ''wp_test_'', ''wp_'');
UPDATE `wp_options` SET `option_name` = replace(`option_name`, ''wp_test_'', ''wp_'');
EDITAR: Como señaló @Francisco Corrales, si tiene problemas para acceder a una página de administración que creó (si no escribe PHP, este no es su caso), puede consultar este enlace: Error de Wordpress al desarrollar un complemento: "No tiene permisos suficientes para acceder a esta página".
EDIT 2: como señaló @Kasper Souren, es posible que desee agregar una cláusula WHERE a la consulta de UPDATE de las opciones. Al igual que (no elimine el %
después del último %}
):
UPDATE `{%TABLE_PREFIX%}options` SET `option_name` = replace(`option_name`, ''{%OLD_TABLE_PREFIX%}'', ''{%NEW_TABLE_PREFIX%}'') WHERE option_name like ''{%OLD_TABLE_PREFIX%}%'';
Su problema no es con el permiso en los directorios. El hecho de que vea el mensaje "No tiene suficientes permisos para acceder a esta página" significa tres cosas:
está intentando acceder a una página de administración directamente, pero no a través de wp-admin (así que indique a qué página de administración está intentando acceder),
ya has iniciado sesión (de lo contrario, serías redirigido a / wp-admin) y
el área a la que intenta acceder está reservada para un nivel más alto de usuario (por lo que puede estar conectado con una cuenta de editor, mientras que el área solo es accesible para los administradores).
¿Puede decirnos si su base de datos local y la base de datos en línea son iguales? ¿Puedes iniciar sesión correctamente antes de ver este mensaje?