Impossibile accedere: "ERRORE: I cookie sono bloccati o non supportati dal tuo browser. Devi abilitare i cookie per utilizzare WordPress."
Dopo un trasferimento del server, non riesco ad accedere al mio sito. Quando provo a inviare il modulo di login, ricevo l'errore "ERRORE: I cookie sono bloccati o non supportati dal tuo browser. Devi abilitare i cookie per utilizzare WordPress."
Sono sicuro che il mio browser supporti i cookie e che non siano bloccati.
Ho fatto una ricerca approfondita e ho provato ogni suggerimento trovato:
- rinominato la directory dei plugin
- rinominato la directory del tema del sito
- cercato nel database le istanze del precedente URL e sostituite con il nuovo URL
- aggiornato WordPress all'ultima versione (4.0)
- definito WP_HOME e WP_SITEURL in wp-config.php
impostato ADMIN_COOKIE_PATH, COOKIE_DOMAIN, COOKIEPATH e SITECOOKIEPATH in wp-config.php:
define('ADMIN_COOKIE_PATH', '/'); define('COOKIE_DOMAIN', ''); define('COOKIEPATH', ''); define('SITECOOKIEPATH', '');
provato questa modifica a wp-login.php: https://wordpress.org/support/topic/cookies-are-blocked-or-not-supported-by-your-browser-1#post-5026171
Riesco ad accedere al sito sulla mia installazione locale e riesco ad accedere al sito sul nostro server di sviluppo. Qualche idea su cosa potrebbe causare questo problema?

Questa soluzione ha funzionato anche per me su un'installazione multisite. Riuscivo ad accedere al sito principale ma non a quello secondario.

Non ha funzionato subito per me, ma dopo un hard refresh (ctrl + f5 in chrome)

Nel caso qualcuno stia cercando documentazione ufficiale che confermi questo, può trovare lo stesso consiglio in fondo a https://wordpress.org/support/article/wordpress-multisite-domain-mapping/.

Recentemente ho avuto anche io questo problema. Si è scoperto che, nonostante il nome di dominio fosse puntato verso il sito web, il multisite di WordPress non aveva un record nel database per mappare il nome di dominio al blog corretto. Di conseguenza, quando WordPress tentava di impostare i cookie, li impostava per il sottodominio invece che per il dominio mappato.

Questo ha funzionato per me. Sto usando https://wordpress.org/plugins/wordpress-mu-domain-mapping/ per il mapping dei domini e non appena ho aggiunto il record di mapping, ho smesso di ricevere l'errore "ERROR: Cookies are blocked or not supported by your browser".

Questo problema può anche essere causato da un site_url che non corrisponde esattamente all'URL.
Nel mio caso, il mio site_url e home erano //127.0.0.1, che uso per avere la flessibilità di utilizzare http o https, quindi ho fatto:
// Identifica il protocollo rilevante per la richiesta corrente
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https" : "http";
// Imposta SITEURL e HOME utilizzando un protocollo dinamico.
define('WP_SITEURL', $protocol . '://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', $protocol . '://' . $_SERVER['HTTP_HOST']);

Potrebbero esserci i seguenti problemi nel tuo sito.
- Errore di programmazione
- Spazi non necessari nel codice
- Plugin di caching e sicurezza
Scopri di più qui: https://www.scratchcode.io/cookies-are-blocked-or-not-supported-by-your-browser/

Ciò accade principalmente quando accedi al backend per la prima volta.
Se sei sicuro che l'utente e la password inseriti siano validi, puoi provare semplicemente a ricaricare la pagina e verrai autenticato normalmente.
Ecco fatto. Dopodiché, il tuo browser salverà il cookie necessario.

Ho cercato su Google e provato tutti i modi per risolvere questo problema dei cookie. Alla fine ho trovato due soluzioni che potrebbero aiutarti.
Soluzione 1:
yoursite/wp-login.php
Commenta le seguenti righe 770-773
Codice
if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
$user = new WP_Error('test_cookie', __("<strong>ERRORE</strong>: I cookie sono bloccati o non supportati dal tuo browser. Devi <a href='http://www.google.com/cookies.html'>abilitare i cookie</a> per utilizzare WordPress."));
else
$user = wp_signon('', $secure_cookie);
Potrebbe funzionare per alcuni siti web, mentre altri potrebbero mostrare una pagina vuota. Inoltre, questa soluzione non è consigliata, poiché questo file potrebbe essere sovrascritto dopo un aggiornamento di WordPress, quindi prova la seconda soluzione.
Soluzione 2:
yoursite/wp-content/themes/yourthemeFolder/functions.php
Inserisci il seguente codice.
setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);
if ( SITECOOKIEPATH != COOKIEPATH )
setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);
L'aggiornamento del tuo tema potrebbe anche annullare queste modifiche, quindi per favore inserisci questo codice in un altro functions.php che si trova nella cartella del tuo child-theme nel tema attualmente attivo. Spero che questo ti aiuti.

Ho implementato la soluzione fornita da wpdevramki e ho notato che potrebbe sorgere il seguente problema:
"Notice: Constant COOKIE_DOMAIN già definita in /wp-config.php alla riga 102"
Per risolvere questo problema, per favore commenta il seguente codice nel file wp-includes/default-contants.php
if ( !defined('COOKIE_DOMAIN') )
define('COOKIE_DOMAIN', false);
