Polylang을 사용할 때 버전 차이 등의 문제로 지원되지 않는 사용자정의 문자열을 사용해야 할 때가 있습니다. Polylang 사용자정의 문자열을 설정하고 사용하는 방법을 확인해 보겠습니다.
목차
Polylang 사용자정의 문자열 추가
우선 Polylang에서 설정할 사용자정의 문자열을 추가해 줘야 합니다. 사이드 위젯의 메뉴가 Polylang 다국어 번역 설정에서 확인되지 않아서 직접 설정하는 경우를 예로 들어서 작업해 보겠습니다.
우선 functions.php에 입력을 해야 합니다. 테마 원본의 functions.php를 수정한 경우에는 이후에 테마 업데이트를 하면 변경사항이 모두 삭제되므로, 꼭 차일드 테마를 만들어서 이용하길 권합니다.
차일드 테마를 사용하는 방법은 워드프레스 자식 테마 만들기와 워드프레스 차일드 테마 플러그인 Child Theme Configurator 문서에서 직접 제작하는 방법과 플러그인을 사용하는 방법에 대해 안내해 두었으니 참고하시기 바랍니다.
Polylang의 문자열로 등록하는 방법은 매우 간단합니다. pll_register_string 함수를 이용해서 아래와 같은 코드를 functions.php에 추가해 주면 Polylang의 문자열로 등록이 됩니다.
첫번째 파라미터 sidebar_categories는 변수명이며, 두번째 파라미터는 이름, 그리고 세번째 파라미터는 그룹명입니다.
pll_register_string('sidebar_categories', '분야', 'Sidebar');
PHP외모 > 테마 파일 편집기에서 functions.php를 선택한 후, 아래와 같이 코드를 추가해 주고, 파일 업데이트를 눌러줍니다.
여기까지 잘 따라 오셨나요? 그럼 이제 등록한 사용자 변수가 잘 설정됐는지 확인해 보아야겠죠? 다음 단계로 넘어가 보겠습니다.
Polylang 사용자정의 문자열 다국어 설정
이제 워드프레스 관리자 페이지 좌측 메뉴 중 Languages > Translations로 들어갑니다.
이제 Translations 페이지에 들어가면 문자열 목록이 주룩 나옵니다. 위에서 그룹 선택하는 Select 박스를 선택해서 위에서 추가해 준 Sidebar 그룹을 선택한 후 Filter 버튼을 눌러줍니다.
그러면 아래 그림 3과 같이 functions.php에서 등록해 준 사용자정의 문자열이 나타납니다. 위에서 추가한 문자열 “분야”가 보이네요. 문자열 이름은 my_categories이고, Group은 Sidebar라고 나옵니다. English에도 functions.php에서 설정한 분야가 똑같이 나옵니다. 여길 Categories로 바꿔주면, 영문 페이지에서는 Categories, 한글 페이지에서는 분야로 나오겠죠?
번역이 다 끝났다면, 이제 화면 좌측 하단에 있는 변경사항 저장 버튼을 눌러서 저장해줍니다.
Polylang 사용자정의 문자열 사용
이제 WP Code 플러그인을 사용해서 Shortcode를 추가해 줄 것입니다. 그리고 난 후 해당 Shortcode를 적용해 보도록 하겠습니다.
WP Code에 Shortcode 등록
구슬이 서말이라도 꿰어야 보배이듯이 이제 해당 문자열을 사용해야 되겠죠? 워드프레스 구글 애드센스 코드 추가 방법 2가지(feat. Ad Inserter, WP Code)에서 소개했던 WP Code의 ShortCode를 사용할 것입니다.
WP Code가 설치되어 있다면 관리자 페이지 좌측 메뉴에서 Code Snippets > Code Snippets에서 Add New 버튼을 눌러주시거나, Code Snippets > + Add Snippet으로 들어갑니다.
Add Your Custom Code (New Snippet) 위로 마우스 커서를 가져다 대면 나타나는 Use Snippet 버튼을 눌러주세요.
PHP Snippet을 작성할 것이므로 우측에 있는 Code Type을 PHP Snippet으로 선택해 줍니다.
이제 Code 입력란에 다음과 같이 pll_e 함수를 작성해 줍니다. 파라미터 값으로는 pll_register_string에서 사용한 문자열을 입력해 주면 됩니다. 저는 위에서 “분야”라는 문자열을 사용했으므로 그대로 적어줍니다.
Add title for snippet에 식별하기 좋은 이름을 적어주세요. 저는 “위젯 – 분야” 정도로 작성해 보았습니다.
작성을 마쳤으면 우선 우측 상단의 Save Snippet 버튼을 눌러줍니다.
코드 아래로 내려가면 Insert Method를 Shortcode로 선택해 주신 후 우측 상단의 Active(활성화) 스위치를 켜주고 Update 버튼을 눌러주세요. 선택하면 바로 아래에 Shortcode가 나타납니다.
Sidebar 위젯에 Shortcode 적용
외모 > 위젯 메뉴로 들어가서, “분야” 문자열을 넣을 곳을 찾습니다.
앞서 만든 쇼트코드를 추가해 준후, 우측 상단의 업데이트 하기 버튼을 눌러주면 모든 작업이 끝납니다.
이제 자신의 워드프레스 페이지의 사이드바를 확인해 보면 한글 페이지의 경우 아래와 같이 “분야”라고 나오는 걸 확인할 수 있습니다.
영문 페이지로 들어가면 Categories라고 나오는 것 또한 확인할 수 있습니다.
정리
여기까지 pll_register_string 함수를 이용해 워드프레스 Polylang 사용자정의 문자열을 등록하고 Snippet에 pll_e 함수 실행 코드를 추가한 후, Shortcode를 활용해서 해당 문자열을 사용해 보았습니다.
워드프레스 버전과 Polylang이 호환되지 않아서 Sidebar를 수동으로 작업하셔야 하는 분들께 도움이 되길 바랍니다.
관련 자료
Polylang의 function reference를 참고했습니다.