Il Customizer del tema non si carica
Ho creato un nuovo tema e lo sto utilizzando in alcuni dei miei siti (multisite), ma in uno dei siti l'anteprima del customizer non si carica (lo spinner continua all'infinito). Il caricamento dell'anteprima del customizer funziona con altri temi, solo il mio tema non funziona.
Non ci sono errori nella console degli strumenti di sviluppo di Chrome.
Ho provato diverse soluzioni...
- rinominato il tema (cartella e all'interno del style.css)
- rimosso TUTTI i file lasciando solo un index.php vuoto e uno style.css, che contiene solo il commento necessario
Ma continua a non caricarsi, di nuovo, solo in uno dei miei multisiti.
Come posso fare il debug di questo problema? Avete qualche idea?

Se il personalizzatore (anteprima live) non funziona o non si carica e non viene visualizzato nulla, prova questi passaggi:
- Hai reindirizzamenti sul sito problematico (ricontrolla e assicurati, potrebbe esserci un reindirizzamento personalizzato codificato nei tuoi plugin/codici)?
- Mentre il cerchio sta ancora caricando, cambia qualsiasi opzione nel personalizzatore e clicca "SALVA & PUBBLICA" e vedi, forse un semplice cambiamento farà riapparire il sito.
- Prova a disattivare i plugin.
- Hai comandi personalizzati
EXIT/ DIE/ VAR_DUMP/ ECHO/ SETCOOKIE/
programmati nei file .php core, che potrebbero interrompere il caricamento del sito se alcune condizioni non sono soddisfatte? (ad esempio, ho avuto un problema simile, causato da me: es.IF (isset($_COOKIE["blabla"])) exit;
) - Prova a installare un nuovo WP con un URL diverso e installa solo il tema all'inizio, e verifica. Poi importa tutto e controlla di nuovo... vedi se ci sono differenze.

Assicurati inoltre che gli stili del tema genitore vengano caricati prima di quelli del tema figlio. Inserisci questo nel file "functions.php" del tuo tema figlio e verifica se aiuta:
// Svuota tutti i buffer di output in PHP:
remove_action('shutdown', 'wp_ob_end_flush_all', 1);
// Assicurarsi che il tema figlio abbia una versione indipendente e possa bypassare le cache: http://wordpress.stackexchange.com/a/182023/30783
// Filtra get_stylesheet_uri() per restituire il foglio di stile del tema genitore
add_filter('stylesheet_uri', 'use_parent_theme_stylesheet');
// Accoda gli script e gli stili di questo tema (dopo il tema genitore)
add_action('wp_enqueue_scripts', 'my_theme_styles', 20);
function use_parent_theme_stylesheet()
{
// Utilizza il foglio di stile del tema genitore
return get_template_directory_uri() . '/style.css';
}
function my_theme_styles()
{
$themeVersion = wp_get_theme()->get('Version') . rand();
// Accoda il nostro style.css con la nostra versione
wp_enqueue_style('child-theme-style', get_stylesheet_directory_uri() . '/style.css',
array(), $themeVersion);
}

Avevo un personalizzatore che funzionava bene in IE ma non in Chrome (appariva vuoto in Chrome). Ecco cosa ha risolto il problema per me.
Per chiarire, il personalizzatore di WordPress era completamente vuoto sul lato destro (ma solo in Chrome). C'era un errore (nella console) riguardante il rifiuto di caricare il contenuto dell'IFrame a causa della violazione della "direttiva Content Security Policy: 'frame-ancestors 'self'".
La soluzione è stata aggiungere un altro punto al mio dominio di sviluppo.
Ovvero, avevo un nome di dominio locale con un solo punto - http://foo_online.local e stavo riscontrando questo problema. Dopo aver cambiato in http://foo.online.local il problema è scomparso.
(Non dimenticare di aggiornare l'Indirizzo WordPress (URL) e l'Indirizzo del sito (URL) nelle Impostazioni generali nel Pannello di controllo dopo aver modificato il nome del dominio)
Per completezza, ho provato a impostare un'intestazione esplicita "Content Security Policy" (che si configura nelle impostazioni del server web) ma non ho trovato un'impostazione che soddisfacesse Chrome. Spero che questo possa aiutare.
