WPML

WPML을 사용하여 다국어 사이트를 개발할 때 사용자 정의 언어 전환기가 필요할 수 있습니다. 간단한 PHP와 CSS로 구현하는 방법을 알아보세요.

WPML을 사용하면 메뉴, 위젯, 푸터는 물론 사이트 에디터(이전의 전체 사이트 편집)를 사용하는 사이트에도 언어 전환기를 추가할 수 있고, 사용자 정의 옵션과 기본 제공 국기도 함께 제공됩니다. 하지만 사이트에 더 특별한 것이 필요할 수 있습니다.

이 튜토리얼에서는 플로팅 언어 전환기를 추가하는 방법을 보여줍니다. 플로팅 언어 전환기는 보기에도 좋고 고객이 자신의 언어로 사이트를 더 쉽게 볼 수 있습니다.

플로팅 언어 전환기를 사용하는 사이트

다음 세 가지 주요 단계를 따르세요.

  1. 언어 전환기를 렌더링하는 PHP 코드 추가
  2. CSS로 언어 전환기 스타일 지정
  3. 언어 전환기 설정 업데이트

PHP 부분

첫 번째 단계는 페이지에서 언어 전환기를 렌더링하는 PHP 코드를 추가하는 것입니다. 이를 위해 언어 전환기가 포함된 div 컨테이너를 추가하는 함수를 생성합니다. wpml_add_language_selector 작업을 사용하여 언어 전환기를 렌더링할 수 있습니다.

이 예에서는 새 언어 전환기가 푸터에 표시되기를 원하므로 WordPress 자체의 wp_footer 훅과 함께 새 함수를 사용합니다.

전체 PHP 코드는 다음과 같습니다.

언어 전환기 PHP
//WPML - Add a floating language switcher to the footer
 add_action('wp_footer', 'wpml_floating_language_switcher'); 
 
 function wpml_floating_language_switcher() { 
    echo '<div class="wpml-floating-language-switcher">';
        //PHP action to display the language switcher (see https://wpml.org/documentation/getting-started-guide/language-setup/language-switcher-options/#using-php-actions)
        do_action('wpml_add_language_selector');
    echo '</div>'; 
}

이 코드를 복사하여 (자식) 테마의 functions.php 파일에 추가할 수 있습니다.

스타일 지정 부분

위 코드를 적용하면 웹사이트의 푸터에 이미 새 언어 전환기가 추가되어 있습니다. 이제 웹사이트의 오른쪽 하단에 떠 있도록 사용자 정의할 차례입니다. position: fixed CSS 속성을 사용하여 이 작업을 수행할 수 있습니다.

다음 단계에 따라 CSS 코드를 추가하세요.

  1. WPML설정언어 전환기로 이동하세요.
  2. 언어 전환기 옵션 카드에서 추가 CSS를 확장하세요.

또는 외모 → 사용자 정의로 이동하고 추가 CSS를 클릭하여 이 CSS 코드를 추가할 수 있습니다.

다음 예에서는 둥근 테두리, 상자 그림자 등 몇 가지 사용자 정의를 추가로 적용합니다. 물론 원하는 대로 사용자 정의할 수 있습니다.

언어 전환기 스타일 지정
/*Removing some default CSS from our language switcher*/
.wpml-floating-language-switcher .wpml-ls-statics-shortcode_actions {
  margin-bottom: 0;
}
 
.wpml-floating-language-switcher  .wpml-ls-statics-shortcode_actions a {
  background-color: transparent !important;
}
 
.wpml-floating-language-switcher .wpml-ls-legacy-list-horizontal a {
  padding: 5px;
}
 
 
/*Customize this if you want*/
.wpml-floating-language-switcher {
  position: fixed;
  bottom: 10px;
  right: 10px;
  background: #f8f8f8; /*background color*/
  border: 1px solid; /*border settings*/
  border-color: #eee; /*color of the border*/
  padding: 0px; /*padding of container*/
  border-radius: 6px; /*rounded border*/
  /*Box Shadow*/
  -webkit-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.25);
  -moz-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.25);
  box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.25);
}

설정 부분

마지막으로 언어 전환기에 국기만 표시되도록 일부 설정을 조정해야 합니다.

다음 단계를 따르세요.

  1. WPML설정언어 전환기사용자 정의 언어 전환기로 이동하세요.
  2. 사용자 정의 언어 전환기로 스크롤하여 활성화를 클릭하세요.
  3. 사용자 정의 버튼을 클릭하세요.
  4. 언어 전환기에 포함할 항목 아래에서 국기는 선택한 상태로 두고 모국어 이름, 현재 언어로 된 언어 이름현재 언어의 선택을 취소하세요.
  5. 저장을 클릭하세요.
플로팅 언어 전환기에 국기만 표시
플로팅 언어 전환기에 국기만 표시

이것으로 끝입니다! 이제 웹사이트에 멋진 사용자 정의 언어 전환기가 표시됩니다.

가로 언어 전환기
프런트엔드의 언어 전환기

보너스: 세로 플로팅 언어 전환기

아래 스크린샷과 같이 세로 언어 전환기를 대신 생성할 수도 있습니다.

세로 언어 전환기
세로 언어 전환기

이를 위해 이전 CSS를 다음 코드로 바꾸기만 하면 됩니다.

세로 언어 전환기 CSS
/*Removing some default CSS our language switcher*/
.wpml-floating-language-switcher .wpml-ls-statics-shortcode_actions {
  margin-bottom: 0;
}
 
.wpml-floating-language-switcher  .wpml-ls-statics-shortcode_actions a {
  background-color: transparent !important;
}
 
.wpml-floating-language-switcher .wpml-ls-legacy-list-horizontal a {
  padding: 5px;
}
 
.wpml-floating-language-switcher .wpml-ls-item {
  display: block;
}
 
/*Customize this if you want*/
.wpml-floating-language-switcher {
  position: fixed;
  bottom: 20px;
  right: 0px;
  background: #f8f8f8; /*background color*/
  border: 1px solid; /*border settings*/
  border-color: #eee; /*color of the border*/
  padding: 0px; /*padding of container*/
  border-radius: 6px 0 0 6px; /*rounded border*/
  /*Box Shadow*/
  -webkit-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.25);
  -moz-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.25);
  box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.25);
  z-index: 999;
}

작성자: Amir · 마지막 업데이트: 2023년 3월 2일