워드프레스 차일드 테마를 만들어야 하는 이유
워드프레스에서 자식 테마(차일드 테마, 하위 테마라고도 함)를 만들지 않고 테마 자체를 수정하는 경우를 간혹 목격합니다.
그런 경우, 테마가 업데이트되면 부모 테마(원래 테마)에서 수정한 내용은 모두 초기화가 되므로 수정한 내용을 다시 적용해야 하는 번거로움이 있습니다.
업데이트로 인한 초기화를 방지하기 위해 테마를 수정할 경우 반드시 자식 테마를 만들어야 합니다.
차일드 테마 만들기
아바다, BE 테마 등 유료 테마에서는 자식 테마 파일이 함께 제공되기도 합니다.
만약 자식 테마가 함께 제공되지 않는다면 직접 하나를 만들면 됩니다. 만드는 방법은 WordPress Codex 문서에서 확인해볼 수 있습니다.
저는 간단히 플러그인을 하나 사용하여 자식 테마를 만듭니다.
이제 부모 테마에서 수정할 파일이 있다면 해당 파일을 자식 테마 폴더로 복사한 다음에 수정하면 됩니다.
가령 Sydney 테마에서 카피라이트 문구를 수정하는 경우를 가정해봅시다. 시드니 테마는 무료와 유료 버전이 제공됩니다. 유료 버전에서는 쉽게 카피라이트 텍스트를 변경할 수 있지만 무료 버전에서는 직접 테마 소스를 수정해야 합니다.
/wp-content/themes/sydney 폴더 아래에 보면 footer.php이 파일이 있습니다. 이 파일을 사용자 컴퓨터로 임시로 다운로드했다가 다시 자식 테마의 폴더로 업로드합니다. 자식 테마의 폴더 이름이 sydney-child라면 /wp-content/themes/sydney-child 폴더로 업로드하면 됩니다.
이 작업은 FTP를 통해서 해도 되고, cPanel을 이용할 수 있는 경우 File Manager라는 툴을 사용해도 됩니다.
예를 들어, Bluehost의 경우 hosting > cPanel > files > File Manager를 클릭하면 파일 관리자 툴이 실행됩니다.
(※ 업데이트: 이 글을 작성한 후 블루호스트 인터페이스가 변경되었습니다. "블루호스트에서 파일 관리자 (File Manager) 사용하기"를 참고해보세요.)
File Manager에 접속한 후에 워드프레스가 설치된 디렉터리로 이동하여 자식 테마 폴더에 파일을 업로드할 수 있습니다.
위와 같은 화면이 표시되면 상단의 Upload 아이콘을 클릭하여 파일을 업로드할 수 있습니다. File Manager를 사용하면 대량의 파일을 zip 파일로 압축하여 쉽게 업로드가 가능합니다(압축/압축 해제 기능 사용 가능).
FTP를 사용할 경우 다음 글을 참고로 업로드할 수 있습니다.
함수 파일을 추가해야 하는 경우에는 자식 테마 내의 함수 파일(functions.php)에 추가하면 됩니다. 그리고 CSS 코드는 자식 테마 내의 스타일시트 파일(style.css)에 추가할 수 있습니다.
만약 footer.php 파일을 수정하여 자식 테마에 업로드하면, 부모 테마 폴더에 footer.php 파일이 있게 되고 자식 테마 폴더에도 footer.php 파일이 있게 됩니다. 그러면 워드프레스에서는 자식 테마 내의 파일을 우선적으로 로드하게 됩니다. 그러므로 추후에 테마가 업데이트되어도 자식 테마 내의 파일이 먼저 로드되므로 수정 사항이 유지됩니다.
하지만 과도하게 테마 파일을 수정하게 되면, 추후에 테마가 업데이트되면서 문제를 일으킬 수 있습니다. 가급적이면 수정을 최소화하고, 가능한 경우 항상 후크(액션/필터)를 이용하여 수정하거나 기능을 추가하는 것이 좋습니다.
자식 테마를 만들지 않고 테마를 수정한 경우 다음 글을 참고하여 수정된 파일을 자식 테마로 이동시키시기 바랍니다.
워드프레스를 처음 접하는 경우 다음 글이 도움이 될 것입니다.