Categories
워드프레스

워드프레스 차일드 테마 설정방법

기본 테마를 변경을 하고 css나 스크립트 등 몇가지를 변경해서 커스터마이즈했을 때 그 테마가 업데이트 되면 기존것이 덮어져 버려서 수정된 부분이 사라진다.

나는 보통 차일드를 만들어 운용한다.

1.부모 테마의 폴더이름을 복사해 둔다.

2.만들 자식 폴더의 이름은 아무거나 해도 된다.

나는 보통 부모테마폴더명+-child를 붙인다.

3.자식테마에 style.css를 만든다.

그리고 젤 위에 Theme Name은 아무거나

Template: 는 1번에서 복사해둔 폴더이름을 붙여넣는다. 이걸 잘못하면 적용시에 템플릿을 찾을 수 없다고 나오니 유의 한다.

/*
Theme Name: twentytwenty child
Template: twentytwenty
*/

그렇게 하고 실시간 적용을 해보면 css가 깨짐을 알 수 있다. 이는 두가지가 있다.

자식 style.css에 아래 부모것을 가져온 뒤 import 시킨다.

/* 부모 css 가져옴 이거 해줘야 안깨짐 */
@import url( “../twentytwenty/style.css” );

두번째로는 자식테마 폴더에 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’ );

?>

끝.

이후에 부모에 있는 페이지를 수정할 경우는 자식폴더에 똑같은 폴더 구조와 이름으로 수정하면 된다.

header나 index.php 는 자식것을 먼저 찾고 못 찾으면 부모를 적용을 시킨다.

functions.php는 기존 부모꺼에 더해져서 자식  functions.php가 적용이 된다.

즉 처음은 빈값이여야 한다.