워드프레스 자식 테마 만들기

워드프레스 자식 테마(WordPress Child Theme) 만들기를 간단하게 정리하겠습니다. 워드프레스를 운영하면서 테마의 소스를 수정할 때가 있습니다. 주로 header.php 파일을 자주 수정하게 됩니다. 소스를 수정 후 테마가 업데이트되었을 경우 수정된 내용이 모두 사라지게 됩니다. 하지만 자식 테마를 사용하게 되면 테마가 업데이트되더라도 수정한 내용이 그대로 유지될 수 있습니다.

 


워드프레스 자식 테마 만드는 방법

우선 자식 테마로 만들 ‘폴더-child’를 만들어 줍니다. 폴더명은 다른 이름으로 해도 됩니다. 저는 현재 적용한 테마인 Pluto 테마의 자식 테마를 만들 예정입니다. 

자식 테마를 구성하기 위해서 필요한 파일은 ‘functions.php’와 ‘style.css’만 있으면 됩니다.  ‘header.php’는 자식 테마 수정을 위해서 제가 부모 테마 폴더에서 복사해 온 것입니다. 

‘functions.php’는 아래 내용으로 만들어 주세요.

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

‘style.css’는 아래 내용으로 만들어 주세요. 폴더명은 정확하게 입력이 되어야 합니다.

/*
  Theme Name: 테마 이름
  Template: 부모 테마의 폴더명
*/

 

이제 워드프레스 관리자 ‘외모 > 테마’로 가서 확인해 보시면 방금 만든 자식 테마를 리스트에서 확인할 수 있습니다.

테마 리스트에서 섬네일이 비어 있는 채로 보이는데요. 섬네일 이미지가 보이게 하려면 부모 테마의 ‘screenshot.png’을 자식 테마 폴더로 복사하시면 됩니다.

 


워드프레스 자식 테마 장단점

우선 페이지를 읽어 들일 때 ‘index.php’와 ‘header.php’ 파일을 자식 테마에 있는 파일을 먼저 확인합니다. 그래서 제가 위에서 header.php 파일을 옮겨 놓은 것입니다. 수정할 예정이거든요. ‘functions.php’의 경우 부모 테마에 있는 파일에서 자식  테마에 있는 내용을 추가해서 로드합니다. 참고하세요. ‘style.css’의 경우 수정할 코드를 넣으면 반영됩니다.

자식 테마의 장점으로는 테마를 업데이트하게 되면 기존 내용이 사라지고 새롭게 테마가 설치됩니다. 자식 테마가 있으면 수정된 내용을 그대로 유지할 수 있습니다.

단점은 테마 업데이트 시 header.php의 내용이 크게 변경되었을 경우 자식 테마의 내용은 수정이 되지 않기 때문에 문제가 발생할 수 있습니다. (예로, 보안 업데이트 관련 내용) 그래서 스타일만 수정하거나, 부모 테마에 없는 것을 추가하는 경우에만 자식 테마를 사용하는 것을 추천해 드립니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다