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

Last Updated: 2016년 08월 03일 1개 댓글

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

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

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은 최근 업데이트에서 성능이 많이 향상되었다고 하네요. 그 때문인지 사이트 속도에 별다른 영향이 없는 것 같습니다.

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

참고

작성자 아바타

워드크래커는 전문 영한번역가로 활동하고 있으며 10년 이상 워드프레스 관련 정보를 제공하는 워드프레스 정보꾸러미 블로그를 운영하고 있다. 또한, ‘워드프레스를 사용하는 사람들’ 네이버 카페도 관리하고 있다.

댓글 남기기

Leave a Comment

카카오톡 상담 카톡 서비스 상담