WPML
Statut
Résolu

Aperçu de l’anomalie

Lorsque l’URL est invalide dans une langue, WPML vérifie si cette URL pourrait être valide dans une autre langue. Si cela est confirmé, WPML redirigera le visiteur vers l’URL correcte avec les informations de langue.

Cependant, ce comportement pourrait causer des problèmes avec les règles de réécriture personnalisées.

Solution de contournement

WPML fournit le filtre wpml_is_redirected sur cette redirection. Voici un exemple d’utilisation :

/**
* 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 );

Toutes les anomalies connues →