워드프레스에서 언어별로 다른 첫 페이지를 사용하고 싶을 때

안녕하세요? 워드크래커입니다.

현재 큰 프로젝트로 바쁜데도 이렇게 글을 올리는 만용(?)을 부리고 있네요. 이번에는 "워드프레스에서 언어별로 첫 페이지를 다르게 표시하고 싶은 경우"를 간단히 설명드리려고 합니다.

Polylang이라는 플러그인을 사용하면 쉽게 구축할 수 있습니다. 이 플러그인은 공짜인데다 기능도 상당히 괜찮습니다. (현재 이 사이트에도 적용되고 있죠. 속도 때문에 현재 삭제한 상태입니다.)

이 Polylang 플러그인을 사용했을 때 예상치 못한 문제가 발생할 수 있는데요, 그 중 하나가 테마에서 제공하는 프런트 페이지를 마음대로 수정할 수 없다는 점입니다. 가령 테마의 프런트 페이지(Front Page)에서 카테고리를 지정하여 표시하는 부분이 있다면, 만약 한글 기준으로 카테고리를 설정하면 영어 버전에서는 해당 카테고리의 영문 버전이 표시되지만 제목이나 카테고리 이동 링크는 한글이 될 수 있습니다. 이 문제가 유료 플러그인 WPML에서도 발생하는지는 모르겠습니다. 이 문제 때문에 WPML이 대안이라면 이 플러그인을 구매해야 하나 심각히 고민하다 비용 때문에 포기하고 다른 방법을 찾았습니다. 바로 프런트 페이지를 페이지 템플릿으로 바꾸는 것이었습니다.

즉, index.php 페이지를 사용하여 Page-korean.php와 Page-english.php와 같이 언어별 템플릿으로 만들었습니다. 페이지 템플릿으로 바꿀 때에는 index.php의 맨 윗부분을 아래와 같은 형식으로 수정하면 됩니다.

<?php
/*
Template Name: 템플릿 이름
*/

get_header(); ?>

그런 다음, 각 템플릿 파일을 언어에 맞게 수정하는 것이죠. 수정은 약간의 php 지식이 필요할 수 있습니다. 가령 카테고리를 테마 옵션에서 추가할 수 있다면 언어별로 카테고리를 달리 추가하고(경우에 따라 카테고리 입력 개수를 늘리도록 테마 자체를 수정해야 할 수 있습니다) 언어 템플릿별로 카테고리를 지정해주는 방식도 가능합니다. 이 방식을 사용하면 언어가 바뀌면서 해당 언어로 번역되지 않는 문자열 등을 해당 언어로 바꿀 수 있고 언어별로 레이아웃을 달리 지정하는 것도 가능합니다. 별것은 아니지만 이런 문제로 고민하고 계시다면 도움이 될까 해서 여기에 올려봅니다.

추가: 이 글과 관련하여 심화된 내용을 워드프레스 다국어 사이트에서 get_bloginfo() 활용하기에서 살펴볼 수 있습니다.

업데이트: Polylang은 무료 플러그인이면서 좋은 기능을 제공하지만 이 블로그에서 삭제했습니다. 가장 큰 이유는 사이트 속도 저하 문제 때문이었습니다. 대신 WPML을 구입하여 다른 블로그에 적용했습니다. WPML은 최근 업데이트에서 성능이 많이 향상되었다고 하네요. 그 때문인지 사이트 속도에 별다른 영향이 없는 것 같습니다.

다국어 사이트를 운영한다면 저처럼 무료 플러그인을 사용하다 삭제하는 오류를 범하지 않도록 초기에 여러 가지를 잘 고려하여 선택을 잘 하는 것이 중요할 것 같습니다. 처음에 야심차게 영문 버전도 함께 만들어졌지만 결론적으로 플러그인을 잘못 선택하는 바람에 실패한 격이 되었습니다. (현재 영문 버전은 카테고리로 처리해두었습니다.)

참고


댓글 남기기

* 이메일 주소는 공개되지 않습니다.