본문으로 건너뛰기
워드프레스 자식 테마: 정의와 생성 방법

워드프레스 자식 테마: 정의와 생성 방법

Can BayarCan Bayar수정일: 12 분 소요399 조회

워드프레스 자식 테마란 무엇인가요?

워드프레스 자식 테마는 부모 테마라고 불리는 다른 테마의 기능, 특징 및 스타일을 상속받는 테마입니다. 부모 테마의 파일을 직접 수정하는 대신, 자식 테마에서 변경 사항을 적용합니다. 이렇게 하면 부모 테마가 업데이트될 때 사용자 정의 사항이 유지되어, 신중하게 작업한 시간을 잃지 않게 됩니다.

이렇게 생각해 보세요: 부모 테마가 기초를 제공하고, 자식 테마가 그 위에 수정 사항을 쌓는 것입니다. 워드프레스는 먼저 자식 테마를 로드한 다음, 오버라이드되지 않은 부분에 대해서는 부모 테마로 돌아갑니다. 이 상속 모델은 워드프레스의 가장 실용적인 아키텍처 결정 중 하나입니다.

자식 테마를 사용해야 하는 이유는 무엇인가요?

자식 테마를 사용하는 것은 워드프레스 개발자들 사이에서 표준 관행으로 여겨지며, 그럴만한 이유가 있습니다. 주요 장점은 다음과 같습니다:

  • 업데이트 안전성: 부모 테마의 업데이트가 사용자 정의 사항을 덮어쓰지 않습니다. 귀하의 코드는 업데이트 중에 손대지 않는 별도의 디렉토리에 저장됩니다.
  • 조직적인 작업 흐름: 모든 수정 사항이 한 곳에 모여 있어, 변경한 내용과 그 이유를 쉽게 추적할 수 있습니다.
  • 간편한 롤백: 사용자 정의로 문제가 발생하면, 자식 테마를 비활성화하고 즉시 부모 테마로 되돌릴 수 있습니다.
  • 학습 기회: 자식 테마를 만드는 것은 처음부터 테마를 만드는 압박 없이 워드프레스 테마가 어떻게 작동하는지를 배울 수 있게 해줍니다.
  • 버전 관리 친화적: Git에 자식 테마만 커밋할 수 있어, 저장소를 깔끔하게 유지하고 변경 사항에 집중할 수 있습니다.

자식 테마 vs. 워드프레스 커스터마이저: 각각 언제 사용해야 하나요?

워드프레스는 사이트의 외관을 사용자 정의할 수 있는 여러 가지 방법을 제공합니다. 자식 테마와 내장 커스터마이저를 언제 사용해야 하는지 이해하면 각 상황에 맞는 올바른 접근 방식을 선택할 수 있습니다.

기능자식 테마워드프레스 커스터마이저
코드 변경 (PHP)완전 지원지원하지 않음
템플릿 오버라이드완전 지원지원하지 않음
CSS 수정대규모 변경에 권장소규모 조정에 적합
테마 업데이트 생존예 (테마 옵션 사용 시)
필요한 기술 수준기본 PHP/CSS 지식코딩 필요 없음
실시간 미리보기수동 새로 고침 필요내장 실시간 미리보기
성능 영향무시할 수 있음무시할 수 있음

커스터마이저를 사용하세요 간단한 색상 변경, 글꼴 조정 또는 로고 업로드가 필요할 때. 자식 테마를 사용하세요 템플릿 파일을 수정하거나, 사용자 정의 기능을 추가하거나, 레이아웃에 구조적 변경이 필요할 때.

자식 테마 수동으로 만들기

자식 테마를 만들려면 두 개의 파일만 필요합니다: style.cssfunctions.php. 단계별 안내는 다음과 같습니다.

1단계: 자식 테마 디렉토리 만들기

FTP 또는 호스팅 파일 관리자를 통해 워드프레스 설치에 연결합니다. wp-content/themes/로 이동하여 새 폴더를 만듭니다. 이름 규칙은 parent-theme-name-child입니다. 예를 들어, 부모 테마가 Astra라면 폴더 이름을 astra-child로 지정합니다.

2단계: style.css 만들기

새 폴더 안에 style.css라는 파일을 만들고 다음 헤더를 추가합니다:

/*
 테마 이름:   Astra Child
 테마 URI:    https://yoursite.com
 설명:       Astra의 자식 테마
 저자:       귀하의 이름
 템플릿:     astra
 버전:      1.0.0
*/

Template 줄은 매우 중요합니다. 부모 테마의 디렉토리 이름(표시 이름이 아님)과 정확히 일치해야 합니다. wp-content/themes/에서 정확한 폴더 이름을 확인하세요.

3단계: functions.php 만들기

부모 및 자식 스타일시트를 적절히 큐잉하는 functions.php 파일을 만듭니다:

<?php
function 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')
    );
}
add_action('wp_enqueue_scripts', 'child_theme_enqueue_styles');

이 접근 방식은 부모 스타일시트가 먼저 로드되고, 그 다음에 자식 테마의 스타일이 로드되어 올바른 계단식 순서를 유지하도록 보장합니다.

4단계: 자식 테마 활성화하기

워드프레스 대시보드에서 외모 > 테마로 이동합니다. 자식 테마가 목록에 표시되어야 합니다. 활성화를 클릭합니다. 자식 테마가 부모 테마에서 모든 것을 상속받기 때문에 사이트는 이전과 동일하게 보일 것입니다.

플러그인을 사용하여 자식 테마 만들기

코드 없는 접근 방식

코드 없는 접근 방식을 선호하는 경우, 여러 플러그인이 자식 테마를 생성할 수 있습니다. 가장 널리 사용되는 옵션은 Child Theme Configurator 플러그인입니다. 작동 방식은 다음과 같습니다:

  1. 플러그인 > 새로 추가에서 Child Theme Configurator 플러그인을 설치하고 활성화합니다.
  2. 도구 > 자식 테마로 이동합니다.
  3. 드롭다운에서 부모 테마를 선택합니다.
  4. 문제가 있을 경우 확인하기 위해 분석을 클릭합니다.
  5. 새 자식 테마 만들기를 클릭합니다.
  6. 플러그인이 필요한 모든 파일을 생성하고 선택적으로 위젯 및 메뉴 설정을 복사합니다.

이 방법은 더 빠르지만 초기 설정에 대한 제어가 적습니다. 프로덕션 사이트의 경우, 수동 프로세스를 이해하는 것이 중요합니다. 이는 나중에 발생할 수 있는 문제를 해결하는 데 도움이 됩니다.

자식 테마에서의 일반적인 사용자 정의

자식 테마가 활성화되면 수정 작업을 시작할 수 있습니다. 가장 빈번한 사용자 정의 시나리오는 다음과 같습니다.

템플릿 파일 덮어쓰기

템플릿 파일을 수정하려면 부모 테마 디렉토리에서 자식 테마 디렉토리로 복사하여 동일한 폴더 구조를 유지합니다. 예를 들어, 단일 게시물 템플릿을 사용자 정의하려면:

  1. 부모 테마 폴더에서 single.php를 찾습니다.
  2. 자식 테마 폴더로 복사합니다.
  3. 자식 테마에서 복사본을 편집합니다.

WordPress는 부모 테마 대신 자식 테마의 버전을 자동으로 사용합니다.

사용자 정의 CSS 추가

자식 테마의 style.css 파일에 CSS 규칙을 추가합니다. 헤더 주석 아래에 추가하세요. 자식 스타일시트는 부모 스타일시트 다음에 로드되므로, 귀하의 규칙이 우선합니다:

/* 사용자 정의 헤더 배경 */
.site-header {
    background-color: #2c3e50;
    padding: 20px 0;
}

/* 게시물 제목 크기 조정 */
.entry-title {
    font-size: 2rem;
    line-height: 1.3;
}

사용자 정의 함수 추가

자식 테마의 functions.php는 부모의 것과 함께 실행됩니다(대신 실행되는 것이 아님). 사용자 정의 단축코드, 위젯 영역, 게시물 유형을 추가하거나 WordPress 훅을 사용하여 기존 동작을 수정할 수 있습니다:

// 사용자 정의 위젯 영역 추가
function child_register_sidebar() {
    register_sidebar(array(
        'name'          => 'Custom Sidebar',
        'id'            => 'custom-sidebar',
        'before_widget' => '<div class="widget">',
        'after_widget'  => '</div>',
    ));
}
add_action('widgets_init', 'child_register_sidebar');

헤더 및 푸터 사용자 정의

header.php 또는 footer.php를 부모 테마에서 자식 테마로 복사한 후 수정합니다. 이렇게 하면 사용자 정의 내비게이션 요소, 추적 스크립트 또는 이러한 중요한 영역에 대한 구조적 변경을 추가할 수 있습니다.

자식 테마를 사용하지 말아야 할 때

자식 테마가 항상 올바른 솔루션은 아닙니다. 대안이 더 합리적인 시나리오는 다음과 같습니다:

  • 소규모 CSS 수정: 몇 줄의 CSS를 위해서는 사용자 정의의 추가 CSS 섹션을 사용하세요. 세 가지 CSS 규칙을 위해 자식 테마를 만드는 것은 불필요한 복잡성을 추가합니다.
  • 기능 추가: 테마와 관련 없는 기능(사용자 정의 게시물 유형, 단축코드, 통합)을 추가하는 경우, 대신 사용자 정의 플러그인을 사용하세요. 이렇게 하면 기능이 테마에 독립적입니다.
  • 페이지 빌더 사이트: Elementor Pro 또는 유사한 페이지 빌더로 완전히 구축하는 경우, 대부분의 사용자 정의는 빌더 내에서 발생합니다. 자식 테마는 여기서 큰 가치를 추가하지 않습니다.
  • 스타터 테마: 완전히 사용자 정의 디자인을 구축하는 경우, Underscores (_s)와 같은 스타터 테마로 시작하거나 프레임워크를 사용하세요. 자식 테마는 부모의 디자인을 유지하고 싶다는 의미입니다.

자식 테마를 위한 부모 테마 선택하기

모든 부모 테마가 자식 테마 개발에 똑같이 잘 작동하는 것은 아닙니다. 잘 코딩되고 정기적으로 업데이트되며 확장 가능성을 염두에 두고 설계된 테마를 찾으세요. 두 가지 인기 있는 선택은 다음과 같습니다:

  • Astra Pro: 경량 코드베이스, 광범위한 훅 시스템 및 자식 테마 개발자를 위한 명확한 문서로 알려져 있습니다. Astra는 자식 테마 사용자 지정을 위해 특별히 수십 개의 액션 및 필터 훅을 제공합니다.
  • GeneratePress Premium: 깨끗하고 잘 구조화된 코드베이스와 모듈형 구성 요소를 제공합니다. 훅 시스템을 통해 템플릿 파일을 덮어쓰지 않고도 다양한 지점에 콘텐츠를 삽입할 수 있습니다.

두 테마 모두 업데이트 간의 하위 호환성을 유지하여 시간이 지나도 안정성을 유지해야 하는 자식 테마를 구축할 때 필수적입니다.

일반적인 자식 테마 문제 해결

경험이 풍부한 개발자도 자식 테마에서 문제를 겪을 수 있습니다. 가장 일반적인 문제에 대한 해결책은 다음과 같습니다:

문제가능한 원인해결책
활성화 후 흰 화면functions.php의 PHP 구문 오류FTP를 통해 파일에 접근하고 오타, 누락된 세미콜론 또는 닫히지 않은 괄호를 확인하세요
스타일이 적용되지 않음잘못된 enqueue 순서 또는 누락된 부모 스타일wp_enqueue_style 종속성 배열을 확인하세요
템플릿 오버라이드가 작동하지 않음잘못된 파일 경로 또는 이름자식 테마의 파일 경로가 부모 테마 구조와 정확히 일치하는지 확인하세요
대시보드에 테마가 나타나지 않음style.css의 잘못된 템플릿 값템플릿이 부모의 디렉토리 이름과 일치하는지 확인하세요(대소문자 구분)
함수가 두 번 실행됨부모와 자식 모두 동일한 함수를 정의함function_exists() 체크 또는 다른 함수 이름을 사용하세요

자식 테마 폴더 구조 참조

잘 정리된 자식 테마는 다음 구조를 따릅니다:

your-theme-child/
├── style.css              (필수 - 테마 헤더 + 사용자 정의 CSS)
├── functions.php          (필수 - 스타일 enqueue + 사용자 정의 함수)
├── screenshot.png         (선택 - 테마 썸네일)
├── header.php             (선택 - 헤더 오버라이드)
├── footer.php             (선택 - 푸터 오버라이드)
├── single.php             (선택 - 단일 포스트 오버라이드)
├── page.php               (선택 - 페이지 오버라이드)
├── template-parts/        (선택 - 부분 오버라이드)
│   └── content-single.php
├── assets/                (선택 - 사용자 정의 자산)
│   ├── css/
│   ├── js/
│   └── images/
└── woocommerce/           (선택 - WooCommerce 오버라이드)
    └── single-product.php

부모 테마 선택에 대한 자세한 내용은 2026년에 WordPress 테마를 선택하는 방법 가이드를 참조하세요. 자식 테마를 만들기 전에 테마 설치에 도움이 필요하면 WordPress 테마 설치 튜토리얼을 확인하세요.

자세한 내용은 공식 문서를 참조하세요: 자식 테마 문서, 테마 핸드북.

자주 묻는 질문

WordPress 자체를 업데이트하면 자식 테마의 사용자 정의가 사라지나요?

아니요. WordPress 코어 업데이트는 테마에 영향을 미치지 않습니다. 자식 테마와 부모 테마는 각각 wp-content/themes/ 아래의 디렉토리에 남아 있습니다. 부모 테마 업데이트만 호환성 문제를 일으킬 수 있지만, 자식 테마 파일은 손대지 않습니다.

자식 테마의 자식 테마(손자 테마)를 가질 수 있나요?

WordPress는 기본적으로 손자 테마를 지원하지 않습니다. 자식 테마는 부모 테마에서만 상속받을 수 있으며, 다른 자식 테마에서 상속받을 수는 없습니다. 여러 계층의 사용자 정의가 필요하다면 자식 테마와 사용자 정의 플러그인의 조합을 사용하세요.

자식 테마가 내 웹사이트를 느리게 하나요?

자식 테마의 성능 영향은 미미합니다. WordPress는 추가적인 style.cssfunctions.php 파일을 로드하여 페이지 로드 시간에 밀리초의 일부를 추가합니다. 실제 조건에서는 오버헤드가 측정되지 않습니다.

모든 WordPress 테마와 자식 테마를 사용할 수 있나요?

기술적으로는 가능하지만, 일부 테마는 다른 테마보다 자식 테마와 더 잘 작동합니다. WordPress 코딩 표준을 따르고 적절한 훅 시스템을 사용하는 테마는 확장하기가 더 쉽습니다. 하드코딩된 경로나 독점 프레임워크에 크게 의존하는 테마는 예기치 않은 동작을 일으킬 수 있습니다.

스테이징 사이트에서 프로덕션으로 자식 테마를 마이그레이션하려면 어떻게 하나요?

wp-content/themes/your-child-theme/에서 자식 테마 폴더 전체를 복사하여 프로덕션 서버의 동일한 위치에 붙여넣습니다. 그런 다음 WordPress 대시보드에서 활성화하세요. 자식 테마가 특정 URL을 참조하는 경우, 마이그레이션 후에 해당 URL을 업데이트하세요.

Underscores와 같은 스타터 테마와 자식 테마를 사용해야 하나요?

Underscores와 같은 스타터 테마는 직접 수정하도록 설계되었습니다. 이는 사용자 정의 테마의 시작점으로 사용되며, 자식 테마의 부모 테마로 사용되도록 설계된 것이 아닙니다. 직접 수정하고 버전 관리를 통해 변경 사항을 추적하세요.

부모 테마를 비활성화하면 어떻게 되나요?

부모 테마가 비활성화되거나 삭제되면 자식 테마가 작동하지 않습니다. WordPress는 부모 없이 자식 테마를 로드할 수 없습니다. 자식 테마만 사용하더라도 항상 부모 테마를 설치해 두세요.

튼튼한 기반 위에 구축하세요

Astra Pro는 광범위한 훅 지원과 깔끔한 코드 아키텍처를 제공하여 자식 테마 프로젝트에 신뢰할 수 있는 부모 테마입니다.

Astra Pro 탐색하기 →

자주 묻는 질문

커스터마이저만 사용할 경우 자식 테마가 필요한가요?
워드프레스 커스터마이저에서 제공하는 옵션(색상, 글꼴, 메뉴, 위젯)만 사용한다면 자식 테마는 꼭 필요하지 않습니다. 커스터마이저는 설정을 데이터베이스에 저장하여 테마 업데이트 시에도 유지됩니다.
자식 테마가 웹사이트 속도를 느리게 하나요?
적절하게 생성된 자식 테마는 거의 영향을 미치지 않습니다. 추가로 작은 CSS 파일과 functions.php 파일 하나가 로드됩니다. 실제로 성능에 미치는 영향은 측정할 수 없습니다.
모든 워드프레스 테마에 대해 자식 테마를 만들 수 있나요?
네, 모든 워드프레스 테마에 대해 자식 테마를 생성할 수 있습니다. 그러나 Divi와 Avada와 같은 일부 테마는 자체 커스터마이징 시스템을 가지고 있어 자식 테마가 덜 필요할 수 있습니다. 특정 권장 사항은 테마 문서를 확인하세요.
부모 테마를 변경하면 자식 테마는 어떻게 되나요?
자식 테마는 특정 부모 테마에 연결되어 있습니다. 다른 부모 테마로 변경하면 자식 테마는 더 이상 작동하지 않습니다. 새로운 부모 테마에 기반하여 새로운 자식 테마를 생성하고 커스터마이징을 이전해야 합니다.
자식 테마 변경 사항을 잃지 않고 부모 테마를 업데이트하려면 어떻게 하나요?
이것이 바로 자식 테마가 해결하는 문제입니다. 부모 테마를 업데이트할 때 부모 테마 파일만 교체됩니다. 자식 테마 파일은 그대로 유지되며, 커스터마이징이 자동으로 보존됩니다.

이 게시물 공유

저자 소개

Can Bayar
Can Bayar

워드프레스 전문가

플러그인 및 테마 개발 분야에서 10년 이상의 경험을 가진 시니어 워드프레스 개발자. WooCommerce, Elementor 및 성능 최적화 전문.

워드프레스우커머스엘리멘터PHP자바스크립트성능 최적화

최신 소식 받기

최신 워드프레스 팁과 튜토리얼을 이메일로 받아보세요.