Prima della mia breve assenza questo articolo credo sarà utile a molti. Prima o poi ci è capitato per errore, per test, per aver spostato un sito da locale ad online con settaggi diversi, di aver cambiato una o entrambe le URL che si impostano sotto Impostazioni => Generale rendendo il vostro sito inaccessibile. La soluzione spesso consigliata è quella di usare phpMyadmin per cambiare nella tabella wp_options le option_value di siteurl e home. Tuttavia esiste una alternativa semplice, si tratta di una delle novità introdotte sin dalla versione 2.2 e passata sotto silenzio: la disponibilità di due opzioni da inserire nel file wp-config.php.
Si tratta di due variabili WP_SITEURL e WP_HOME che corrispondono alle voci Indirizzo WordPress e Indirizzo del blog del pannelo di amministrazione di cui sopra. Se definite singolarmente o entrambe hanno la precedenza sui valori memorizzati nel database ed anzi forzano tali valori sostituendoli con quelli definiti per le due variabili. In pratica aggiungendo nel wp-config
define('WP_SITEURL', 'http://example.com/wordpress');
e/o
define('WP_HOME', 'http://example.com/wordpress');
sostituendo a http://example.com/wordpress il valore corretto per il vostro blog al primo accesso al blog o al pannello di amministrazione verranno usati i valori impostati in queste variabile che andranno anche a sotiture i valori presenti nel DB che avranno la precedenza sui valori presenti nel database. Per modificare permanentemente i valori nel database occorrerà tramite phpmyadmin editare la tabella XX_options (con XX uguale al prefisso scelto, solitamente wp_) e nei record con option_name uguale a siteurl e home cambiare il campo option_value con la url corretta.
Una utile applicazione di tali può essere per chi come me ha una installazione locale esatta copia di quella online con un dominio virtuale locale impostato su Apache. Già ora il mio wp-config ha un if che in base alla URL richiamata dal browser usa valori di accesso al DB diversi a seconda che si tratti di wordpress-it.it o della mia copia locale (wpit.loc). Aggiungendo queste due variabili nelle due casistiche dell’if posso trasferire il DB remoto in locale ed usarlo immediatamente senza dover modificare le voci nel database ed al contempo in caso ddi disastro effettuare il ripristino del database anche uin questo caso senza ulteriori interventi.





