친절한 우리 고모

친절한 고모의 친절한 이야기

  • 2025. 4. 16.

    by. 친절한 고모

    목차

      👶 차일드 테마 설정과 커스터마이징의 모든 것

      (테마 업데이트에도 무너지지 않는 커스터마이징 전략)

      “CSS 조금 고쳤는데, 테마 업데이트하니까 다 날아갔어요…”
      “function.php에 넣은 기능이 왜 사라졌죠?”

      워드프레스에서 테마를 수정할 때 절대 하지 말아야 할 실수
      ✅ *“기본 테마를 직접 수정하는 것”*입니다.

      이 문제를 완벽히 해결해주는 도구가 바로 **차일드 테마(Child Theme)**입니다.

      이번 글에서는
      ✔ 차일드 테마의 개념과 필요성
      ✔ 직접 만드는 방법
      ✔ style.css, functions.php 활용 팁
      ✔ 플러그인 없이 테마를 안전하게 커스터마이징하는 전략
      을 실전 중심으로 안내합니다.

       

      👶 차일드 테마 설정과 커스터마이징의 모든 것


      ✅ 1. 차일드 테마란?

      **차일드 테마(Child Theme)**는
      부모 테마(Parent Theme)의 기능을 그대로 상속하면서,
      사용자 맞춤 CSS, 기능, 템플릿만 수정 가능한 구조입니다.

      구성설명
      부모 테마 Astra, GeneratePress, OceanWP 등 메인 테마
      차일드 테마 내 사이트 전용 수정사항을 담은 ‘얇은 껍질’ 테마

      💡 부모 테마는 계속 업데이트되고,
      차일드 테마는 설정이 보존되어 안전하게 사용자화를 할 수 있습니다.


      ⚠️ 2. 차일드 테마가 필요한 이유

      상황위험차일드 테마 적용 시
      style.css 직접 수정 테마 업데이트 시 삭제됨 ✅ 수정 내용 유지
      functions.php 편집 충돌 or 손상 발생 가능성 ✅ 별도 파일에서 관리
      템플릿 파일 수정 테마 변경 시 반영 불가 ✅ 원하는 템플릿만 덮어쓰기 가능

      🛠️ 3. 차일드 테마 만드는 2가지 방법

      방법 ① 수동으로 직접 만들기 (추천)

      1. /wp-content/themes/ 폴더 안에 새 폴더 생성
        예: /astra-child/
      2. style.css 파일 생성:
      css
      복사편집
      /* Theme Name: Astra Child Template: astra */ @import url("../astra/style.css");
      1. functions.php 파일 생성:
      php
      복사편집
      <?php // 부모 테마의 스타일 불러오기 add_action('wp_enqueue_scripts', 'astra_child_enqueue_styles'); function astra_child_enqueue_styles() { wp_enqueue_style('astra-style', get_template_directory_uri() . '/style.css'); }
      1. 워드프레스 관리자 > 외모 > 테마 > ‘Astra Child’ 활성화

      방법 ② 플러그인 사용 (간편 설정)

      • Child Theme Configurator
      • 설치 후 “도구 > Child Themes”에서 1분 만에 생성 가능

      💡 단점: 불필요한 설정이 자동으로 포함되므로, 직접 생성 방식이 더 가볍고 깔끔합니다.


      🧩 4. 차일드 테마에서 자주 쓰이는 커스터마이징

      파일활용 예시
      style.css 내 폰트, 버튼 색상, 레이아웃 조정
      functions.php 숏코드 추가, 기능 제한, API 연결
      템플릿 복사 header.php, single.php 등 원하는 템플릿만 부모에서 복사 후 수정 가능

      예: 본문 하단에 저작권 문구 자동 삽입 (functions.php)

      php
      복사편집
      add_filter('the_content', 'add_footer_note'); function add_footer_note($content) { if (is_single()) { $content .= '<p style="font-size:12px;color:#888">© 2025 내 사이트. 무단 복제 금지.</p>'; } return $content; }

      🧠 5. 차일드 테마 관리 팁

      팁설명
      functions.php 충돌 테스트 항상 백업 후 반영
      커스텀 함수는 주석 필수 협업 또는 미래 유지보수를 위해
      필요 없는 템플릿은 만들지 말 것 최소한의 커스터마이징 유지
      테마 업데이트 전 백업 만일의 경우에 대비

      ✅ 차일드 테마 설정 체크리스트

      항목설정 여부
      차일드 테마 폴더 생성 ✅ / ❌
      style.css 작성 및 부모 지정 ✅ / ❌
      functions.php에 스타일 불러오기 추가 ✅ / ❌
      커스터마이징 코드 정리 및 주석 처리 ✅ / ❌
      관리자에서 테마 적용 완료 ✅ / ❌