워드프레스 부모테마에 차일드테마 만드는 방법
워드프레스 차일드테마 처음 만들 때 초보부터 고수까지 꼭 챙길 것들
워드프레스 테마를 만지기 시작하면 빠르게 딜레마가 옵니다. “조금만 고치려고 했는데 업데이트 한 번에 수정이 날아가네?” 저는 이 경험을 몇 번 하고 나서부터는, 테마를 제대로 커스터마이징할 계획이면 차일드테마를 먼저 만들고 시작하는 습관이 생겼습니다.

우선 워프 초보자부터 전문가까지 차일드테마 시작 단계에서 놓치기 쉬운 것과 반드시 해두면 좋은 것들을 한 번에 정리한 내용입니다.
차일드테마를 만들어야 하는 진짜 이유

테마 업데이트가 곧 리셋이 되는 문제를 막는다
부모테마 파일을 직접 수정하면 업데이트 때 파일이 교체되면서 내가 바꿔둔 내용이 사라질 수 있습니다.
- [IT 리뷰/블로그 SEO] - 워드프레스 접속오류 데이터베이스 연결 Error establishing a database connection
- [IT 리뷰/블로그 SEO] - 워드프레스 TTFB 속도개선 성공 후기 - 첫페이지 로딩 느려짐 최적화
차일드테마는 “내 수정본”을 따로 보관하는 구조라서, 업데이트 후에도 수정 내용이 유지됩니다.
수정 범위를 분리하면 장애 대응이 쉬워진다
운영하다 보면 갑자기 레이아웃이 깨지거나 CSS가 안 먹는 증상이 생기는데, 차일드테마로 분리해두면 원인 추적이 확 줄어드는데 우선 부모테마 문제인지, 내 커스텀 문제인지 경계가 명확해지기 때문입니다.
전문가가 차일드테마를 쓰는 이유는 유지보수 때문이다
현업에서 사이트를 오래 굴리다 보면 “누가 언제 뭘 바꿨는지”가 그 히스토리가 가장 중요해집니다.
그 점에서 차일드테마는 Git 버전관리, 스테이징 테스트, 롤백 같은 운영 습관과 찰떡으로 맞습니다.
차일드테마 만들기 전 먼저 결정해야 하는 것들
정말 차일드테마가 필요한 상황인지 구분
| 하고 싶은 작업 | 추천 방식 | 이유 |
| CSS 몇 줄 수정 | 추가 CSS | 가장 빠르고 간단 |
| functions.php로 기능 추가 | 차일드테마 또는 코드 스니펫 | 테마 교체 여부에 따라 선택 |
| 템플릿 파일(single.php 등) 수정 | 차일드테마 | 업데이트에도 유지 |
| 사이트 전체 구조 변경 | 차일드테마 + Git | 운영 안정성 확보 |
운영 사이트면 스테이징부터 만든다
운영 중인 사이트라면 차일드테마를 만드는 순간에도 예기치 못한 증상이 생길 수 있습니다.
저는 가능하면 스테이징(복제 사이트)에서 먼저 적용해보고, 이상 없을 때 운영에 반영합니다.
그리고 호스팅에서 스테이징 기능을 제공하면 그게 가장 편하고, 아니면 서브도메인에 복제해도 됩니다.
백업은 “파일 + DB” 둘 다
- [IT 리뷰/블로그 SEO] - 블루호스트 워드프레스 자동백업 Daily, Weekly, Monthly 삭제
- [IT 리뷰/블로그 SEO] - 워드프레스 접속 오류 해결법 – 카페24 백업 복원과 계정 초기화 방법
차일드테마는 보통 안전하지만, 실수로 테마 폴더 경로나 PHP 문법이 틀리면 사이트가 하얀 화면(치명 오류)로 나올 때가 있기 때문에 최소한 아래 두 가지는 먼저 백업해두는 게 마음이 편합니다.
- 파일 백업 : /wp-content/themes, /wp-content/plugins
- DB 백업 : phpMyAdmin 또는 백업 플러그인
차일드테마 만들기 기본 구조
1단계 차일드테마 폴더 생성

서버에서 /wp-content/themes로 이동해 새 폴더를 만듭니다.
예) hueman-child
예) twentytwentyfour-child
2단계 style.css 테마 헤더 작성
차일드테마 폴더 안에 style.css를 만들고 아래처럼 적습니다.

여기서 핵심은 Template 값은 부모테마 “폴더명”이라는 점입니다.
참고로 테마 화면에 보이는 이름이 아니라 폴더명입니다.
/*
Theme Name: My Site Child
Description: Child theme for customizations
Author: Your Name
Template: hueman
Version: 1.0.0
Text Domain: my-site-child
*/
3단계 functions.php로 스타일 로드
차일드테마 폴더에 functions.php를 만들고 부모 CSS → 차일드 CSS 순서로 로드합니다.
예전 방식인 @import는 성능과 유지보수 측면에서 저는 잘 안 씁니다.
<?php
add_action('wp_enqueue_scripts', 'my_child_theme_enqueue_styles');
function my_child_theme_enqueue_styles() {
wp_enqueue_style(
'parent-style',
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style(
'child-style',
get_stylesheet_directory_uri() . '/style.css',
array('parent-style'),
wp_get_theme()->get('Version')
);
}
부모테마가 style.css를 안 쓰는 경우
부모테마가 main.css 같은 별도 파일을 메인으로 쓰면, 위의 부모 CSS 경로를 실제 파일로 바꿔야 합니다.
이럴 땐 페이지 소스 보기에서 로드되는 CSS 파일 이름을 확인하는 게 가장 빠릅니다.
4단계 워드프레스에서 차일드테마 활성화
관리자에서 외모 → 테마로 들어가 차일드테마를 활성화합니다.

활성화 직후 사이트 레이아웃이 갑자기 깨졌다면, 대부분 부모 CSS 로딩이 제대로 안 된 경우가 많습니다.
처음 시작할 때 많이 터지는 문제와 예방 방법
캐시 때문에 수정이 안 된 것처럼 보이는 문제
WP Rocket 같은 캐시 플러그인을 쓰면 “분명 바꿨는데 그대로”라는 증상이 자주 나옵니다.

저는 CSS 수정 후에 아래 순서로 정리합니다.
- WP Rocket 캐시 삭제
- 브라우저 강력 새로고침(Ctrl + F5)
- CDN(예: 클라우드플레어) 사용 중이면 캐시 퍼지
차일드 CSS가 안 먹는 문제
대부분은 로딩 순서, 선택자 우선순위, 또는 부모테마가 별도 CSS 파일을 쓰는 경우입니다.
저는 이런 순서로 봅니다.
- 개발자 도구에서 child-style이 실제로 로드되는지 확인
- 부모 CSS가 더 나중에 로드돼서 덮어쓰는지 확인
- 특정 요소는 !important가 필요한지(남발은 금지)
PHP 문법 실수로 사이트가 하얀 화면이 되는 문제
functions.php에 세미콜론 하나 빠져도 사이트가 바로 죽을 수 있습니다.
저는 운영 사이트에서는 아래 방법을 씁니다.
- 스테이징에서 먼저 테스트
- FTP를 열어둔 상태에서 작업(문제 생기면 바로 되돌리기)
- 가능하면 코드 스니펫 플러그인으로 검증 후 차일드로 이전
중급 이상이 반드시 해두는 운영 습관
차일드테마에도 버전관리 습관을 넣기
차일드테마는 파일이 적어서 Git으로 관리하기 좋습니다.
저는 최소한 아래 구조는 지키는 편입니다.
- 변경 이력 기록(커밋 메시지에 “무엇을 왜 바꿨는지”)
- 배포 전후 비교(스테이징 → 운영)
- 문제 생기면 즉시 롤백
템플릿 오버라이드는 필요한 파일만 최소로
부모테마 파일을 통째로 복사해 수정하는 방식은 편하지만, 업데이트로 부모 파일이 개선될 때 차일드가 그걸 못 따라가서 나중에 꼬일 수 있습니다.
저는 정말 필요한 파일만 오버라이드하고, 나머지는 훅(action/filter)로 해결하려고 합니다.
디버그 설정은 평소엔 끄고 필요할 때만 켠다
에러 확인이 필요할 때는 wp-config.php에서 디버그를 켜고 로그로 남기는 방식이 좋습니다.
운영에선 화면 출력은 가급적 피하는 편이 안전합니다.
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
고수들이 챙기는 디테일
차일드테마에서 보안과 성능에 신경 쓰는 이유
차일드테마는 내가 마음대로 코드를 넣을 수 있는 만큼, 실수도 내가 책임져야 합니다. 저는 아래 3가지를 특히 조심합니다.
- 외부 스크립트 추가 시 무분별한 로드 금지
- 불필요한 플러그인 의존 줄이기
- 단축코드나 커스텀 함수는 충돌 가능성 체크
사이트 아이덴티티는 차일드에서 정리해두면 편하다
로고, 색상, 폰트, 버튼 스타일 같은 “사이트 성격”은 차일드테마에서 정리해두면 테마를 바꾸거나 업데이트해도 유지하기 쉬워집니다. 저는 style.css 상단에 섹션을 나눠서 관리합니다.
초보자용 빠른 체크리스트
- 부모테마 폴더명을 정확히 확인했는가
- /wp-content/themes에 차일드 폴더를 만들었는가
- style.css에 Template 값을 폴더명으로 넣었는가
- functions.php에서 부모 CSS → 차일드 CSS 순서가 맞는가
- 캐시 플러그인 사용 중이면 캐시 삭제를 했는가
- 문제 발생 대비로 FTP 접근을 유지하고 있는가
자주 묻는 질문
Q. 차일드테마를 쓰면 SEO에 직접 도움이 되나요?
A. 차일드테마 자체가 순위를 올리진 않습니다. 대신 업데이트로 커스텀이 날아가서 생기는 오류, 레이아웃 붕괴 같은 문제를 줄여서 사이트 품질을 안정적으로 유지하는 데 도움이 됩니다.
Q. 차일드테마 만들었는데 스타일이 깨졌어요
A. 부모 CSS가 제대로 로드되지 않은 경우가 많습니다. 부모테마가 style.css가 아닌 별도 CSS 파일을 쓰는지 먼저 확인해보세요.
Q. functions.php 수정하다가 사이트가 하얀 화면이 됐어요
A. FTP로 차일드테마의 functions.php를 열어 마지막 수정 내용을 되돌리면 대부분 복구됩니다. 운영 사이트면 스테이징에서 먼저 확인하는 습관이 가장 안전합니다.
Q. 차일드테마 대신 코드 스니펫 플러그인을 쓰면 안 되나요?
A. 기능 추가만이라면 코드 스니펫도 좋습니다. 다만 템플릿 파일을 수정하거나 테마 구조를 바꿔야 하면 차일드테마가 정답입니다.
Q. 블록 테마에서도 차일드테마가 필요할까요?
A. 디자인만 바꾸는 수준이면 사이트 편집기로 해결되는 경우가 많습니다. 하지만 커스텀 PHP, 고급 훅 처리, 템플릿 오버라이드가 필요하면 차일드테마가 여전히 유용합니다.