WPML
Stato
Risolto

Panoramica del problema

Quando l’URL non è valido in una lingua, WPML controlla se questo URL potrebbe essere valido in un’altra lingua. Se ciò viene confermato, WPML reindirizzerà il visitatore all’URL corretto con le informazioni sulla lingua.

Tuttavia, questo comportamento potrebbe causare problemi con le regole di riscrittura personalizzate.

Soluzione alternativa

WPML fornisce il filtro wpml_is_redirected su questo reindirizzamento. Di seguito è riportato un esempio di come utilizzarlo:

/**
* This will prevent redirection in the secondary language for the custom rule:
* '^products/([A-Za-z0-9-]+)/?' => 'index.php?pagename=new-sample&type=$matches[1]'
*/
function wpmlcore_4704_block_redirect( $redirect, $post_id, $q ) {
// Decide on which condition we should prevent the redirection
if ( isset( $q->query_vars['pagename'] ) && 'sample-page' === $q->query_vars['pagename'] ) {
return false;
}

return $redirect;
}
add_filter( 'wpml_is_redirected', 'wpmlcore_4704_block_redirect', 10, 3 );

Tutti i problemi noti →