워드프레스 차일드 테마를 만들지 않고 수정을 한 경우 대처 방법

워드프레스 차일드 테마를 만들지 않고 수정을 한 경우 대처 방법

대부분의 사용자들이 워드프레스를 수정할 때 차일드 테마(자식 테마, 하위 테마)를 만들어서 수정을 할 것입니다. 하지만 간혹 차일드 테마를 만들지 않고 수정을 하는 경우를 목격하기도 합니다.

차일드 테마를 사용하지 않을 경우 테마가 업데이트될 경우 테마에 수정한 사항이 모두 사라지게 됩니다. 그러므로 테마 코어 파일을 수정하려는 경우에는 차일드 테마를 만드는 것이 필요합니다. 테마 코어 파일을 건들지 않고 스타일시트와 함수만 추가하는 경우에는 차일드 테마를 만들지 않고 진행하는 방법이 있지만 테마 파일(예: header.php) 자체를 수정하는 경우에는 차일드 테마를 만드는 것이 좋습니다.

차일드 테마를 만들어 사용하는 방법은 워드프레스 차일드 테마 활용하기 - Part 3 (차일드 테마 설치 & 활용)를 참고해보시기 바랍니다. 먼저 백업을 한 후에 진행하시기 바랍니다. 그리고 정기적으로 백업을 하시고, 워드프레스, 테마, 플러그인을 업데이트하기 전에도 백업을 해놓으면 만약의 사태가 발생해도 복구할 수 있습니다.

워드프레스 차일드 테마를 만들지 않고 수정을 한 경우 대처 방법

만약 현재 차일드 테마를 만들지 않은 상태에서 테마 파일을 수정하고 계시다면, 다음과 같은 단계에 따라 차일드 테마를 만들어서 수정사항을 차일드 테마로 옮기는 것이 안전합니다.

  1. 먼저 차일드 테마를 만듭니다. "원클릭으로 간편하게 차일드 테마 만들기" 글을 참고해보시기 바랍니다. 링크된 글에 언급된 One-Click Child Theme이라는 플러그인을 사용하셔도 되고, 동일한 글에 제시된 코드를 이용하셔도 됩니다.  결과는 동일합니다.
  2. FTP로 이동하여 스타일시트 파일에 수정된 내용을 복사하여 차일드 테마 내의 스타일시트 파일(style.css)로 복사합니다.
  3. 본래 테마의 함수 파일에 추가한 내용이 있다면 그대로 잘라내어 차일드 테마 내의 함수 파일(functions.php)에 붙여넣기 하도록 합니다. 원테마 내의 본래 함수를 수정하는 바람직하지 않습니다. 이 경우 테마가 업데이트되면 수정 사항이 사라지기 때문에 테마가 업데이트될 때마다 수정해주어야 합니다. 그러므로 원테마 내의 함수 파일의 내용은 수정하지 않도록 합니다. (부모 테마의 기존 함수에서 수정한 사항이 있다면 본래대로 되돌리고, 대신 다른 방법을 강구하는 것이 좋습니다.)
  4. 수정하거나 추가한 테마 파일(예: header.php, page.php...)이 있다면 그대로 복사하여 차일드 테마 내 폴더로 이동시키도록 합니다.
  5. 추후부터 수정되는 내용은 차일드 테마를 이용하도록 합니다.

워드프레스 후크(액션과 필터) 사용

별 내용은 아니지만 이런 내용을 잘 모르면 무작정 테마 파일을 수정하다 나중에 낭패를 보는 경우가 발생할 수 있습니다. 만약 기능을 확장, 수정 또는 추가하려는 경우에는 워드프레스에서 제공하는 후크(액션과 필터)를 이용하시기 바랍니다. 다음은 워드프레스에서 제공하는 액션과 필터 목록입니다.

그리고 우커머스(WooCommerc)나 bbPress/BuddyPress 등의 플러그인도 자체적으로 후크를 제공하므로 우커머스나 bbPress 등을 수정해야 하는 경우 후크를 먼저 확인해보면 도움이 될 수 있습니다.

또, 아바다 테마와 같은 일부 테마에서 자체적으로 후크를 제공할 수 있습니다. 아바다 테마를 수정하려는 경우 먼저 아바다 테마에서 제공하는 후크를 확인해볼 것을 권장합니다. 아바다 테마는 초보자도 쉽게 사용할 수 있는 테마로 많은 인기를 얻고 있지만 고급 사용자를 위해 액션과 필터를 제공하는 것을 보면 대단한 테마라는 생각이 듭니다.

액션/필터 사용 방법은 다음 글을 참고해보시기 바랍니다.

마치며

최근에는 테마 파일을 수정하지 않고 워드프레스 대시보드 내에서 커스텀할 수 있도록 테마와 페이지 빌더가 진화하고 있습니다. 아바다, 뉴스페이퍼, Divi 테마엘리멘터 페이지 빌더(유료 버전)에서는 헤더에서 푸터까지 커스텀할 수 있는 기능을 제공합니다.

참고


4개 댓글

  1. 또 '원테마 내의 본래 함수를 수정하는 바람직하지 않습니다.'라고 하셧는데, 홈페이지를 만들고 시간이 좀 지난 상태에서 차일드 테마를 생성하려하는데요. 원테마 내의 본래 함수를 수정했었는지 기억이 잘 안난다면... 수정했는지 안했는지 알수있는 방법이 있을까요?

    1. 수정되지 않은 테마 파일과 수정된 테마 파일을 비교해볼 수 있을 것입니다.

      텍스트 에디터 내에 그런 기능이 있을 수 있고요, 구글에서 Diff Checker로 검색해보면 온라인 툴도 있을 것입니다. 그러면 어디에 수정되었는지 확인이 가능하지 않을까 생각됩니다.

    1. 안녕하세요?

      블로그를 방문해주셔서 감사합니다.

      혹시나 제가 잘못된 표현을 사용했는지 잠시 검색해보니 사용되는 표현 같네요.

      if you want to change or add any files on theme core files, we recommend you to use child theme (테마 코어 파일을 변경하거나 테마 코어 파일에 파일을 추가하려는
      경우 차일드 테마를 만드는 것이 좋습니다)

      테마 코어 파일 = 원 테마 파일로 이해하시면 될 것 같습니다.

댓글 남기기

* 이메일 주소는 공개되지 않습니다.