- 상태
- 개발자 대기 중
- 관련 플러그인/테마
- WP User Manager
- 주제 태그
- Compatibility
문제 개요
WP User Manager 플러그인을 사용할 때, 공개 사용자 프로필 페이지(예: /profile/username)에서 언어를 전환하면 번역된 특정 프로필(예: /fr/profil/username) 대신 메인 프로필 페이지(예: /fr/profil/)로 리디렉션됩니다.
임시 해결 방법
진행하기 전에 사이트의 전체 사이트 백업이 있는지 확인하세요.
- 테마의 functions.php 파일을 편집하고 다음 함수를 추가하세요.
// WPML Workaround for compsupp-8195 // Preserve WPUM profile sub-path when switching languages with WPML. add_filter( 'icl_ls_languages', function( $languages ) { // Only run if WPUM if ( ! function_exists( 'wpum_get_core_page_id' ) ) { return $languages; } // Get profile info from query vars $queried_profile = get_query_var( 'profile', false ); if ( ! $queried_profile ) { return $languages; } // Build the trailing path from query vars $trailing = '/' . rawurlencode( $queried_profile ); // Add tab and pagination if present $tab = get_query_var( 'tab' ); if ( $tab ) { $trailing .= '/' . rawurlencode( $tab ); } $paged = get_query_var( 'paged' ); if ( $paged ) { $trailing .= '/page/' . rawurlencode( $paged ); } // Append to each language URL foreach ( $languages as $key => $lang ) { if ( empty( $lang['url'] ) ) { continue; } $languages[$key]['url'] = rtrim( $lang['url'], '/' ) . $trailing; } return $languages; } );