Usare jQuery per risolvere il problema degli URL di WordPress durante i trasferimenti di domini

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.

Torna su