JavaScript: modificare i link interni di WordPress dopo il cambio di permalink

JavaScript: modificare i link interni di WordPress dopo il cambio di permalink

Ho recentemente modificato la struttura dei link permanenti del mio blog in inglese cambiando il pattern anno/mese/titolo in /titolo. Il problema รจ che alcuni link interni usavano ancora la vecchia struttura. Per questo motivo ho utilizzato JavaScript per una sostituzione mirata.

La seguente funzione di utility esegue la sostituzione utilizzando le espressioni regolari:


var changePermalinks = function() {
    var a = document.getElementsByTagName('a'),
        oldPattern = /http:\/\/blog\.gabrieleromanato\.com\/([0-9]{4})\/([0-9]{2})\/(.*)/g,
        len = a.length,
        i;
    for (i = 0; i < len; i++) {
        var link = a[i];
        var url = link.href;
        if (oldPattern.test(url)) {
            link.setAttribute('href', url.replace(oldPattern, 'http://blog.gabrieleromanato.com/$3'));

        }

    }

};

Nota

Trattandosi di espressioni regolari di tipo PCRE (Perl-Compatible Regular Expressions), potete usare lo stesso approccio con un filtro di WordPress su the_content utilizzando gli stessi pattern opportunamente adattati.

Torna su