- Статус
- Решено
- Заявлено для
- WPML Multilingual CMS 3.3.3
- Решено в
- 3.3.5
Обзор проблемы
Происходило только в WordPress 4.4: когда перевод записи имеет тот же слаг, что и оригинальная запись (например, http://domain.tld/hello-world и http://domain.tld/fr/hellp-world), а затем слаг обновляется в соответствии с переводом (http://domain.tld/fr/bonjour-le-monde), старый слаг сохраняется как _wp_old_slug, что приводит к циклу перенаправлений.
Изменение слага перевода записи, который ранее был идентичен слагу оригинальной записи (или любой существующей записи), может привести к циклу перенаправлений.
Обходное решение
Проблему можно решить, обновив WordPress до версии 4.4.1 (или более новой).
Это известная проблема в WordPress: https://core.trac.wordpress.org/ticket/35012
Для WordPress 4.4 предложено и подтверждено обходное решение, требующее добавить следующий код в файл function.php Вашей текущей темы оформления:
add_filter( 'old_slug_redirect_url', function ( $link ) {
if ( $link === get_the_permalink() ) {
return '';
};
return $link;
} );