WordPress viene spesso criticato per una gestione poco saggia degli URL delle risorse. Infatti WordPress usa URL assoluti, quindi se voi avete usato URL come /wp-content/uploads/2014/06/image.jpg
l'immagine verrĂ visualizzata, ma quando sposterete il sito l'URL presenterĂ ancora il vecchio dominio nella parte iniziale. Esiste una soluzione rapida in jQuery che potete usare
come ripiego per prendervi il tempo necessario ad operare sul database.
Si tratta di una semplice funzione:
function fixWPaths( oldDomain, newDomain ) {
$( "a" ).each(function() {
var $a = $( this );
var href = $a.attr( "href" );
if( href && href.indexOf( oldDomain ) != -1 ) {
$a.attr( "href", href.replace( oldDomain, newDomain ) );
}
});
$( "img" ).each(function() {
var $img = $( this );
var src = $img.attr( "src" );
if( src && src.indexOf( oldDomain ) != -1 ) {
$img.attr( "src", src.replace( oldDomain, newDomain ) );
}
});
$( "*" ).each(function() {
var $el = $( this );
var image = $el.css( "backgroundImage" );
if( image && image.indexOf( oldDomain ) != -1 ) {
$el.css( "backgroundImage", image.replace( oldDomain, newDomain ) );
}
});
}
In pratica mentre eseguite una query UPDATE
nel database potete usare questo codice come soluzione temporanea specificando come primo parametro il nome del vecchio dominio e come
secondo parametro il nome del dominio su cui avete trasferito WordPress.