¿Cómo soluciono el error "lo siento, no tienes permiso para acceder a esta página" que obtengo en los enlaces "plugins > ajustes"?
Acabo de actualizar a WordPress 4.6, y ahora cuando intento hacer clic en el enlace de Ajustes en algunos de mis plugins recibo este mensaje "Lo siento, no tienes permiso para acceder a esta página."
Puedo activar/desactivar el plugin sin problemas pero por alguna razón no puedo acceder a la vista de ajustes.
Intenté seguir algunos de los métodos que otras personas usaron para solucionar esto; como agregar un nuevo administrador y actualizar los valores de "wp_capabilities" y "wp_user_level" en la base de datos pero aún no funciona.
¿Alguien sabe cómo puedo depurar más o resolver este problema?
Si tienes HTTPS en WordPress y has agregado el siguiente código en wp-config.php, asegúrate de que estas líneas estén en la parte superior de la página. Encontré este problema y quizás pueda ayudar.
define('FORCE_SSL_ADMIN', true);
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';

¿Cómo se relaciona esto con el error en una página específica solamente? Por favor, explica esto en tu respuesta.

Esto solucionó el problema para mí. Para aclarar por qué esto es relevante: las personas que usan un proxy inverso y https pueden necesitar agregar esas líneas, ver: https://wordpress.org/support/article/administration-over-ssl/
Sin embargo, la documentación no aclara que deben estar en la parte superior de wp-config. Las coloqué al final y recibí el mensaje "lo sentimos, no tienes permiso..."
Perdí tiempo en todas las demás soluciones que no fueron útiles, hasta que encontré esta.

Según mi experiencia, para solucionarlo inicia sesión en PHPMyAdmin, ve a la tabla wp_usermeta y edita el campo wp32_capabilities de cualquier usuario añadiendo este código: a:1:{s:13:"administrator";s:1:"1";}. Esto cambiará los privilegios del usuario a administrador. Hay varias razones por las que este cambio puede ser necesario y aparecerá el error.
Yo estaba recibiendo este error en mi sitio web y probé esta solución solo una vez, lo cual resolvió el problema.

Puedes mantener más de un WP siempre y cuando los prefijos sean diferentes y no colisionen, este post tiene la solución para el error de acceso cuando cambiaste el prefijo pero te aparece el error: https://www.mysysadmintips.com/other/web/743-wordpress-admin-sorry-you-are-not-allowed-to-access-this-page

Descubrí que este mensaje "Lo siento, no tienes permiso para acceder a esta página" ocurre principalmente cuando varios sitios WordPress están en el mismo phpMyAdmin, todos usando el mismo prefijo de tabla, independientemente del nombre de la base de datos. No puedo decir cuántos sitios WordPress se espera que estén en el mismo phpMyAdmin con el mismo prefijo de tabla.

Hola - dado que los enlaces a recursos externos pueden volverse obsoletos, ¿podrías ampliar tu respuesta para que pueda sostenerse por sí sola?

Esto no tiene sentido. phpMyAdmin no tiene nada que ver con esto. Tu instalación de WordPress solo mirará una base de datos en tu servidor MySQL. Asumiendo que no estás intentando instalar múltiples sitios en la misma base de datos con el mismo prefijo, esto nunca debería ser un problema. ¿Puedes explicar cómo esta respuesta realmente resuelve el problema desde un punto de vista técnico?

Por defecto, las capacidades se asignarán a los roles de "Administrador" y "Editor" cuando el plugin se ejecute por primera vez. Puedes añadir o eliminar capacidades para usuarios utilizando un excelente plugin llamado Members si no está presente.

WordPress muestra una página 403 predeterminada cuando ocurre cualquiera de una serie de eventos en el backend:
- El usuario no tiene permiso para acceder porque su rol tiene permisos incorrectos
- La página del backend no se encuentra, lo que sucede cuando un plugin o tema ya no está activo y dejó datos relicto en la base de datos, o cuando está enrutando incorrectamente su página de administración debido a una configuración errónea. Esto ocurre frecuentemente si usas plugins de reescritura de URLs y no manejan correctamente las URIs del backend u omiten reescribirlas. Esto también suele llevar a quedar bloqueado fuera de la pantalla de inicio de sesión.
- Hay un error con el mecanismo interno de enrutamiento del núcleo, y recibe un resultado que no entiende, no puede procesar o que se mapea a un esquema no reconocido
- Ocurre un error crítico pero no fatal durante el paso de enrutamiento para el panel de control
En tu caso, probablemente sea la 3ra posibilidad. El código del núcleo de WordPress no realiza una verificación de tipos muy rigurosa, y normalmente avanza a través de sus internos sin gastar mucho tiempo verificando que los datos recibidos estén correctamente formateados o sean válidos para el propósito actual. Esto resulta en errores muy extraños y difíciles de diagnosticar frecuentemente si no entiendes cómo funcionan los internos del núcleo.
Los siguientes remedios están en orden como un pre-vuelo preliminar:
- Asegúrate de que cada sitio ejecutándose en la misma instalación tenga su propia base de datos asignada, la cual tenga su propio usuario dedicado que no tenga permiso para acceder a ninguna otra base de datos dentro de tu clúster. Por ejemplo, cuando inicias sesión en PhpMyAdmin como root, tienes acceso a todo el clúster. Para cualquier aplicación dada, debería tener una base de datos y usuario dedicados dentro de tu clúster, y el usuario no debería tener acceso a ninguna otra base de datos en tu clúster a menos que sea un recurso compartido creado explícitamente para que los datos pasen entre dos aplicaciones. Esto reduce la probabilidad de que tu aplicación se confunda al intentar obtener datos de la base de datos incorrecta, y previene cualquier problema con colisiones entre dos o más instalaciones de WordPress con prefijos idénticos. No coloques dos instalaciones de WordPress en la misma base de datos o ambas se romperán.
- Revisa el panel de red en el inspector web de tu navegador y verifica el código de error de la solicitud. Si es un 403 (debería serlo), entonces el problema es que la página no existe realmente o el usuario carece de permisos. Si es un 500 (no debería serlo), entonces significa que el servidor encontró un error y cayó en el procedimiento de salida estándar. Si es un 500, tienes un plugin malo, tema o problema de base de datos que manejar. Si es un 403, lo más probable es que sea una actualización mala, configuración incorrecta o denegación de acceso legítima.

Cambia el prefijo de las tablas a "_" en wp-config.php y guarda. Luego intenta cargar wp-admin/. Puede que veas un mensaje de nueva instalación. No instales, regresa y cambia el prefijo nuevamente a "WP". Esto funcionó para mí. No estoy seguro de que funcione para todos.
antes: $table_prefix = 'wp_';
en medio: $table_prefix = '_';
después: $table_prefix = 'WP_';

Una resolución similar solucionó el mensaje 403: Lo sentimos, no tienes permiso para acceder a esta página
.
En mi caso, al migrar a un nuevo servidor, los nombres de las tablas de la base de datos se cambiaron a minúsculas, incluyendo aquellos referenciados por $table_prefix
.
Actualizar $table_prefix
a minúsculas permitió que el frontend funcionara, pero /wp-admin
mostraba el error 403.
La solución fue revisar la base de datos en busca de referencias al prefijo original en mayúsculas. Por ejemplo, la tabla _usermeta.meta_key
tenía múltiples instancias del prefijo original en mayúsculas.
