Consulenza - Sviluppo - Marketing - Formazione

Giacomo Rutili

Tieni qualche istante il mouse sopra al mio nome per aggiungermi su Google+ o seguimi sugli altri social
Giacomo Rutili

come cambiare tema di wordpress tramite query a database

30 gennaio 2012, Scritto da , category Tricks, Wordpress

logo wordpress

Recentemente ho aggiornato, come periodicamente faccio, la piattaforma WordPress nei siti in cui la utilizzo.

Come si può immaginare, il rischio che al seguito di un aggiornamento il sito smetta di funzionare correttamente, c’è sempre e, recentemente, mi sono imbattuto in quella che, dalla community, viene comunemente definita come WSOD (White Screen of Death) giusto per citare l’illustre BSOD (Blue Screen of Death) di windowsiana memoria.

Bene, anche per me in alcuni casi l’aggiornamento del core ha provocato la schermata bianca priva di qualsiasi messaggio d’errore.

Inutile dire che in tutti  questi casi il ripristino dell’ultimo backup, fatto coscientemente prima di eseguire l’update del core, è stato provvidenziale, così come è inutile dire che prima di arrivare alla risoluzione del problema ho avuto non pochi grattacapi, notti insonni, tonnellate di letture su forum, aggiustamenti e correzioni varie, un po’ a casaccio oltre ad una buona dose di preghiere al dio dei cms.

Per farla breve, e dare una buona notizia a chi ha avuto a che fare con la WSOD dico che la causa, probabilmente, può essere riconducibile a due casistiche:

  1. plugin incompatibili con la nuova versione del core
  2. template incompatibile con la nuova versione del core

Per risolvere il problema, dunque, si può procedere a tentativi: una volta verificata che la WSOD compare dopo l’aggiornamento del core, procedete con il ripristino dell’ultima versione funzionante (cosa che, probabilmente, richiederà tanto un ripristino del file system quanto del database), dopodiché disabilitate tutti i plugin installati e procedete con l’aggiornamento del cms.

Se al termine dell’aggiornamento il problema non dovesse essere ancora risolto, ripristinate i file e database come in precedenza e poi installate il tema di default del vostro wordpress.

Se, inoltre, siete stati un po’ fessi come me, e dopo aver capito e risolto il problema una prima volta, per essere sicuri che la causa della WSOD fosse da attribuirsi effettivamente al tema incompatibile avete deciso di applicare nuovamente il vostro tema preferito (e pazientemente personalizzato), volete riprovare l’update del core causando una nuova WSOD, allora non vi resta che risolvere il problema cambiando il tema (magari ripristinando il tema di default) tramite query su database, in questa maniera:

Identificate, nella tabella option, le righe da cambiare riferite al tema applicato:

SELECT * FROM wp_options WHERE option_name = 'template' OR option_name = 'stylesheet' OR option_name = 'current_theme';

Aggiornate le righe ottenute dalla query impostando il tema di default, in questa maniera:

UPDATE wp_options SET option_value = 'Twenty Eleven' WHERE option_name = 'template';
UPDATE wp_options SET option_value = 'twentyeleven' WHERE option_name = 'stylesheet';
UPDATE wp_options SET option_value = 'twentyeleven' WHERE option_name = 'current_theme';

Nella query sopra riportata si applicherà (ammesso di non averlo rimosso in precedenza) il tema di default, il Twenty Eleven, delle versioni di WordPress dalla 3.1 in poi.

Una volta eseguita le query basterà ricaricare il vostro cms e, se il vostro problema era riconducibile ad una incompatibilità del tema con l’aggiornamento del core, tutto tornerà a funzionare a meraviglia.