No puedo iniciar sesión: "ERROR: Las cookies están bloqueadas o no son compatibles con tu navegador. Debes habilitar las cookies para usar WordPress."
Después de mover el servidor, no puedo iniciar sesión en mi sitio. Recibo el error "ERROR: Las cookies están bloqueadas o no son compatibles con tu navegador. Debes habilitar las cookies para usar WordPress." cuando intento enviar el formulario de inicio de sesión.
Estoy seguro de que mi navegador soporta cookies y que no están bloqueadas.
He investigado esto exhaustivamente y he probado todas las sugerencias que he encontrado:
- renombré el directorio de plugins
- renombré el directorio del tema del sitio
- busqué en la base de datos las instancias de la URL anterior y las reemplacé con la nueva URL
- actualicé WordPress a la última versión (4.0)
- definí WP_HOME y WP_SITEURL en wp-config.php
establecí ADMIN_COOKIE_PATH, COOKIE_DOMAIN, COOKIEPATH, y SITECOOKIEPATH en wp-config.php:
define('ADMIN_COOKIE_PATH', '/'); define('COOKIE_DOMAIN', ''); define('COOKIEPATH', ''); define('SITECOOKIEPATH', '');
probé este hack en wp-login.php: https://wordpress.org/support/topic/cookies-are-blocked-or-not-supported-by-your-browser-1#post-5026171
Puedo iniciar sesión en el sitio en mi instalación local, y puedo iniciar sesión en el sitio en nuestro servidor de desarrollo. ¿Alguna idea de qué podría estar causando esto?

Esta solución también funcionó para mí en una instalación multisitio. Podía iniciar sesión en el sitio principal pero no en el secundario.

Esto no funcionó de inmediato para mí, pero sí después de un refresco forzado (ctrl + f5 en chrome)

En caso de que alguien busque documentación oficial que confirme esto, pueden ver este mismo consejo al final de https://wordpress.org/support/article/wordpress-multisite-domain-mapping/.

También tuve este problema recientemente, resultó que aunque el nombre de dominio estaba apuntando hacia el sitio web, el multisitio de WordPress no tenía un registro en la base de datos para mapear el nombre de dominio al blog correcto, por lo que cuando WordPress intentaba establecer las cookies, las estaba configurando para el subdominio en lugar del dominio mapeado.

Esto funcionó para mí. Estoy usando https://wordpress.org/plugins/wordpress-mu-domain-mapping/ para el mapeo de dominios y tan pronto como añadí el registro de mapeo, dejé de recibir el error "ERROR: Las cookies están bloqueadas o no son compatibles con tu navegador".

Este problema también puede ser causado por un site_url que no coincide exactamente con la URL.
En mi caso, mi site_url y home eran //127.0.0.1, lo que uso para tener la flexibilidad de usar http o https, así que hice:
// Identificar el protocolo relevante para la solicitud actual
$protocolo = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https" : "http";
// Configurar SITEURL y HOME usando un protocolo dinámico.
define('WP_SITEURL', $protocolo . '://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', $protocolo . '://' . $_SERVER['HTTP_HOST']);

Podrían existir los siguientes problemas en tu sitio.
- Error de Codificación
- Espacios innecesarios en el Código
- Plugin de Caché & Seguridad
Consulta más aquí: https://www.scratchcode.io/cookies-are-blocked-or-not-supported-by-your-browser/

Esto sucede principalmente cuando inicias sesión en el backend por primera vez.
Si estás seguro de que el usuario y la contraseña que ingresaste son válidos, puedes intentar simplemente recargar la página y serás conectado normalmente.
Y eso es todo. Después de eso, tu navegador guardará la cookie necesaria.

He buscado en Google y probado todas las formas para deshacerme de este problema de cookies. Finalmente encontré dos soluciones que podrían ayudarte.
Solución 1:
yoursite/wp-login.php
Comenta las siguientes líneas 770-773
Código
if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
$user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Las cookies están bloqueadas o no son compatibles con tu navegador. Debes <a href='http://www.google.com/cookies.html'>habilitar las cookies</a> para usar WordPress."));
else
$user = wp_signon('', $secure_cookie);
Esto podría funcionar para algunos sitios web, mientras que otros podrían mostrar una página en blanco. Además, no se recomienda esta solución, ya que este archivo podría sobrescribirse después de una actualización de WordPress, así que prueba con la segunda solución.
Solución 2:
yoursite/wp-content/themes/yourthemeFolder/functions.php
Coloca el siguiente código.
setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);
if ( SITECOOKIEPATH != COOKIEPATH )
setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);
La actualización de tu tema también podría eliminar estos cambios, así que por favor coloca este código en otro functions.php que esté en la carpeta de tu child-theme dentro del tema activo actual. Espero que esto te ayude.

Implementé la solución proporcionada por wpdevramki y noté que podría surgir el siguiente problema:
"Notice: Constant COOKIE_DOMAIN ya definida en /wp-config.php en la línea 102"
Para resolver esto, por favor comenta el siguiente código en el archivo wp-includes/default-contants.php
if ( !defined('COOKIE_DOMAIN') )
define('COOKIE_DOMAIN', false);
