- Статус
- Решено
Обзор проблемы
При использовании функции yoast_breadcrumb() для отображения хлебных крошек некоторые ссылки на страницы на языках перевода могут отображать оригинальный слаг вместо переведенного.
Это сделано намеренно, чтобы снизить влияние на производительность. Обратите внимание, что после перехода по ссылке происходит перенаправление на нужную страницу.
Обходное решение
Это поведение можно изменить с помощью следующего обходного решения. Перед внесением любых изменений обязательно создайте резервную копию Вашего сайта.
/**
* Forces using the full resolution for all calls to `wpml_permalink` hook.
*
* @param string $url
* @param null|string $lang
* @param bool $absolute_url
*
* @return string
*/
function wpmlsupp_8689_force_full_permalink_conversion( $url, $lang = null, $absolute_url = false ) {
static $converting = false;
$lang = apply_filters( 'wpml_current_language', NULL );
if ( ! $converting ) {
$converting = true;
$url = apply_filters( 'wpml_permalink', $url, $lang, true );
$converting = false;
}
return $url;
}
// Hook with priority 5 to run before WPML Core filter.
add_filter( 'wpml_permalink', 'wpmlsupp_8689_force_full_permalink_conversion', 5, 3 );