글에앞서
워드프레스의 장점은 오픈소스 기반이며, 자유롭게 테마등을 수정하여 커스터 마이징 할 수 있는 부분이 큰 것 같습니다.
하위 테마를 사용하면 사이트 모양의 작은 부분을 변경하면서도 테마의 모양과 기능은 그대로 유지할 수 있습니다.
자식 테마가 작동하는 방식을 이해하려면 먼저 부모 테마와 자식 테마 간의 관계를 이해하는 것이 중요합니다.
부모 테마와 차일드 테마란?
공식적으로 배포되거나 판매되는 오리지널 테마를 부모 테마로 칭합니다.
![뉴스페이퍼 테마는 차일드 테마를 기본적으로 제공해준다 뉴스페이퍼 테마는 차일드 테마를 기본적으로 제공해준다](https://comeinsidebox.com/wp-content/uploads/2021/01/02_0125_L-1-1024x413.jpg)
부모테마
상위 테마는 테마가 작동하는 데 필요한 모든 WordPress 템플릿 파일 및 자산을 포함하는 완전한 테마입니다 . 하위 테마를 제외한 모든 테마는 상위 테마로 간주됩니다.
차일드테마
하위 테마를 사용하면 사이트 모양의 작은 부분을 변경하면서도 테마의 모양과 기능은 그대로 유지할 수 있습니다. 자식 테마가 작동하는 방식을 이해하려면 먼저 부모 테마와 자식 테마 간의 관계를 이해하는 것이 중요합니다.
차일드 테마 만들기
차일드 테마 폴더 생성
![테마 폴더의 위치 테마 폴더의 위치](https://comeinsidebox.com/wp-content/uploads/2021/01/03_0125_L-1.jpg)
워드프레스 테마 폴더에 차일드 테마 폴더를 생성 합니다.
- 폴더 생성시 폴더 명은 보통 "부모테마-child" 를 붙이는 것이 통상 적입니다.
- 공란 없이 입력합니다.
스타일 시트(style.css 파일) 생성
![stylce.css 파일 생성 stylce.css 파일 생성](https://comeinsidebox.com/wp-content/uploads/2021/01/04_0125_L-2.jpg)
부모테마에서 스타일시트(style.css 파일)을 FTP로 (참고:FTP 사용방법 파일질라 설치 활용) 가져와서 모두 삭제 후 아래 내용의 형식으로 주석을 입력해줍니다.
예시)
/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Description: Default GeneratePress child theme
Author: Tom Usborne
Author URI: https://tomusborne.com
Template: generatepress
Version: 0.1
*/
위는 GeneratePress의 실제 차일드 테마 내 파일이며, 이런 형태로 이루어진 주석을 생성한 시트에 입력이 되어있습니다.
함수 파일(functions.php) 생성
![function.php 테마 함수 파일 설치 function.php 테마 함수 파일 설치](https://comeinsidebox.com/wp-content/uploads/2021/01/06_0125_L-2.jpg)
이것은 선택 사항입니다.
예시)
<?php
/**GeneratePress child theme functions and definitions.
*Add your custom PHP in this file.Only edit this file if you have direct access to it on your server (to fix errors if they happen).
*/
함수 파일은 선택적인 부분으로, 본인이 함수 파일을 수정할 일이 생긴다면 생성하여주고 아니라면 빼도 무관합니다.
서버의 테마(Theme) 폴더에 업로드
업로드 하는 방법은 2가지 입니다.
하나, FTP를 활용하여 업로드
![FTP로 파일 업로드 FTP로 파일 업로드](https://comeinsidebox.com/wp-content/uploads/2021/01/07_0125_L-1-1024x686.jpg)
위 단계로 제작해둔 파일 ( style.css + functions.php )을 서버의 차일드 테마 폴더에 FTP로 업로드 해줍니다.
통상적인 경로입니다.
![테마폴더의 경로 체크 테마폴더의 경로 체크](https://comeinsidebox.com/wp-content/uploads/2021/01/14_0125_L-1.jpg)
설치 하는 루트에 따라 달라질 수 있으니 기계적으로 하면 안되며, 해당 경로를 찾아서 해야 합니다.
둘, 대시보드에서 테마 업로드하기 메뉴 활용
![외모 > 새로추가하기 외모 > 새로추가하기](https://comeinsidebox.com/wp-content/uploads/2021/01/08_0125_L-2.jpg)
![테마 업로드하기 테마 업로드하기](https://comeinsidebox.com/wp-content/uploads/2021/01/09_0125_L-2.jpg)
![파일선택 파일선택](https://comeinsidebox.com/wp-content/uploads/2021/01/10_0125_L-1.jpg)
FTP 외에도 워드프레스 대시보드의 모양>테마>새로추가 메뉴를 활용하여 업로드 할 수있습니다.
![압축된 파일 압축된 파일](https://comeinsidebox.com/wp-content/uploads/2021/01/11_0125_L-1.jpg)
이 경우 폴더 내 위 2개의 파일이 있어야 하며, 압축 된 상태여야 합니다.
적용 후 세팅 방법
부모 테마 설치
![설치 후 비활성 상태 설치 후 비활성 상태](https://comeinsidebox.com/wp-content/uploads/2021/01/12_0125_L-2.jpg)
테마는 기본적으로 설치 후 활성화(Activate)를 해주어야 합니다.
그럼으로, 부모 테마는 그냥 설치만 해두면 되는 것입니다.
차일드 테마 설치 와 활성화
![활성화된 최종 상태 활성화된 최종 상태](https://comeinsidebox.com/wp-content/uploads/2021/01/13_0125_L-2.jpg)
위 부모 테마를 설치만 해두기만 한 이후 같이 설치한 차일드 테마를 활성화(Activate)해주면 되는 것입니다.
활성화를 하여야 정상적으로 최종 적용 된 것입니다.
차일드 테마의 활용 목적
통상적으로 부모 테마는 업데이트 되거나, 하면 모두 수정 값들이 초기화 됩니다.
그때 마다 매번 동일한 수정 작업을 헤줘야 하기 때문에, 부모 테마 의 앞쪽에 업데이트 등의 영향을 받지 않는 차일드 테마를 두어 그곳에서 수정 등을 하고 번거로움을 피할 수 있게 하기 위함입니다.메인 파일이 남아 있는 상태임으로, 차일드 테마에서 조금 더 테스트 등을 진행할 수 있습니다. 테마 개발을 배우기 위한 최초 준비라고 생각합니다.
마치며
이렇게 차일드 테마 생성에 관하여 설명 해 보았습니다. 최대한 쉽게 설명 하려하니 글이 길어지는 듯 합니다. 실제로 해보면 단순하게 할 수 있는 작업이지만, 처음 하는 분들에게는 어려움이 있을 듯 합니다.
이런 경우, 생성을 지원 하는 플러그인 또는 구글 검색등으로 활용 하여 파일을 구할 수 도있다는 점 참고 하면 좋을듯 합니다.