- Trạng thái
- Đã giải quyết
Tổng quan về lỗi
Khi URL không hợp lệ trong một ngôn ngữ, WPML sẽ kiểm tra xem URL này có thể hợp lệ trong một ngôn ngữ khác hay không. Nếu điều này được xác nhận, WPML sẽ chuyển hướng khách truy cập đến URL chính xác kèm theo thông tin ngôn ngữ.
Tuy nhiên, hành vi này có thể gây ra sự cố với các quy tắc viết lại tùy chỉnh.
Giải pháp tạm thời
WPML cung cấp bộ lọc wpml_is_redirected cho chuyển hướng này. Dưới đây là ví dụ về cách sử dụng:
/**
* 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 );