Redirect errati in siti multilingua con WordPress 4.4

Ultimo aggiornamento: 15 Maggio 2022

Se gestite un sito multilingua e vi accorgete che di colpo le pagine o gli articoli scritti in una lingua vengono redirezionati su un’altra, pensate se ciò sia successo dopo che avete aggiornato WordPress alla versione 4.4!

In tal caso siete probabilmente incappati in un bug che è stato riscontrato da più persone, ma che in molti casi si può risolvere aggiungendo un pezzettino di codice nel file functions.php , oppure molto semplicemente col comodissimo plugin Code Snippets che consiglio caldamente per la gestione di snippet in quanto si possono facilmente aggiungere, commentare, disattivare a piacimento.

Il codice per sistemare il bug è questo e pare funzionare sia per Polylang che per WPML:

function fix_35012_wp_old_slug() {
 global $wp_query;

 if ( $wp_query->post_count > 0 ) {
 remove_action( 'template_redirect', 'wp_old_slug_redirect' );
 }
}
add_action( 'template_redirect', 'fix_35012_wp_old_slug', 5 );

Quando WordPress verrà aggiornato nuovamente, si potrà togliere questo codice e verificare se il bug sia stato eliminato.

Riferimenti:
https://core.trac.wordpress.org/ticket/35031#comment:31

Aggiornamento 07/01/2016: il problema è stato risolto con la versione 4.4.1 di WordPress, per cui quel codice temporaneo si può rimuovere.

Licenza Creative Commons
Questo articolo è distribuito con Licenza Creative Commons Attribuzione – Condividi allo stesso modo 4.0 Internazionale