WPML
상태
해결됨

문제 개요

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

알려진 모든 문제 →