어제 카페24 호스팅에서 호스팅되는 워드프레스 사이트의 도메인을 변경하고 워드프레스, 테마, 플러그인을 최신 버전으로 업데이트하는 작업을 진행했습니다. 사이트에 Porto라는 인기 워드프레스 테마가 설치되어 있었습니다. 해당 사이트에 WPML 다국어 번역 플러그인이 설치되어 있었는데, 워드프레스, 테마, 플러그인을 모두 최신 버전으로 업데이트하니 WPML에서 표시하는 언어 전환기가 표시되지 않는 문제가 발생했습니다.
Porto 테마는 과거 버전에 비해 많은 변화가 있었고 헤더 빌더와 푸터 빌더 등의 기능이 추가되어 이전 버전에 비해 수월하게 사이트를 만들 수 있도록 업데이트되었습니다.
워드프레스 Porto 테마: 언어 전환기 설정하기
Porto는 워드프레스용 다목적 & 우커머스 테마로서 인기 테마 목록에 이름을 올리고 있습니다. 현재 1위는 베스트셀링 테마인 아바다이고 Porto가 주간 베스트셀링 6위를 기록하고 있습니다.
Porto 테마는 WPBakery 페이지 빌더가 포함되어 있지만 엘리멘터와도 호환이 된다고 합니다.
오래된 Porto 버전을 최신 버전으로 업데이트하니 WPML에서 설정한 언어 변환기(Language Switcher)가 표시되지 않는 문제가 발생했습니다.
이 문제를 WPML 포럼을 검색해보니 Header Builder를 비활성화하면 해결된다는 내용이 있어서 헤더 세팅 부분을 체크해보았습니다.
Theme Options » Headr » Header Type에서 헤더를 선택할 수 있도록 되어 있었습니다. 구 버전을 신 버전으로 업데이트한 경우에는 Header Type (deprececated)이 선택되는 것 같습니다.
조금 더 살펴보니 Header » Language, Currency Switcher 섹션에서 언어 전환기와 환율 변환기를 표시할 수 있는 옵션이 제공되네요.
다만 테마 옵션의 기능을 사용하여 언어 전환기를 활성화하면 다음 그림과 같은 스타일로 표시되고 스타일을 세부적으로 조정하는 옵션은 찾을 수가 없네요.
다른 방법으로는 WPML에서 제공하는 wpml_add_language_selector 액션을 사용하여 메인 메뉴 뒤에 표시하는 것도 가능하지 않을까 생각됩니다.
다음 코드는 테스트하지 않았지만 제대로 작동할 것 같습니다.
// Add WPML language switcher to the end of the main menu
add_filter('wp_nav_menu_items', 'add_wpml_language_switcher_to_menu', 10, 2);
function add_wpml_language_switcher_to_menu($items, $args) {
// Check if the current menu is the main menu
if ($args->theme_location == 'main_menu') {
ob_start(); // Start output buffering to capture the language switcher HTML
do_action('wpml_add_language_selector'); // Add the WPML language selector
$language_switcher = ob_get_clean(); // Store the captured HTML and end buffering
// Append the language switcher to the menu items
$items .= '<li class="menu-item wpml-language-switcher">' . $language_switcher . '</li>';
}
return $items;
}
위의 코드를 Porto 테마의 차일드 테마를 만들고 차일드 테마 내의 함수 파일에 추가하여 테스트해보시기 바랍니다.
WPML을 사용하여 워드프레스 사이트를 쉽게 다국어 사이트로 변환할 수 있습니다. 다른 방법으로 멀티사이트를 이용하는 것도 가능합니다.
요즘은 WPML 플러그인이나 멀티사이트로 다국어 사이트로 만든 후에 콘텐츠를 챗GPT를 사용하여 영어, 중국어, 일본어 등의 언어로 번역하는 작업을 의뢰하시는 분들이 간혹 계시네요. 인공지능 번역이 과거보다는 확실히 퀄리티가 크게 개선되었지만, 오류가 있을 수 있으므로 가능한 경우에는 해당 언어 전문가가 검토한 후에 공개하는 것이 바람직할 수 있습니다.
참고
https://avada.tistory.com/3046
https://avada.tistory.com/2335