자식 테마에서 부모 테마 기능을 재정의하는 방법

게시 됨: 2022-11-01

WordPress에서 하위 테마를 만드는 경우 상위 테마의 일부 기능을 재정의하고 싶을 수 있습니다. 이 기사에서는 자식 테마에서 부모 테마 기능을 재정의하는 방법을 보여줍니다. 먼저 WordPress가 어떻게 작동하는지 이해해야 합니다. 함수가 호출되면 WordPress는 먼저 하위 테마에서 함수를 찾습니다. 찾지 못하면 부모 테마에서 찾습니다. 따라서 함수를 재정의하려면 하위 테마에서 함수를 생성하기만 하면 됩니다. 상위 테마의 get_header() 함수를 재정의한다고 가정해 보겠습니다. 자식 테마의 functions.php 파일에 get_header() 함수를 생성하면 됩니다. 새 함수는 다음과 같습니다. function get_header() { // your code here } 이제 WordPress가 get_header() 함수를 호출하면 상위 테마의 함수 대신 새 함수를 사용합니다. 물론 단순히 상위 테마에서 하위 테마로 함수를 복사하여 기능을 재정의할 수도 있습니다. 그러나 부모 테마가 업데이트될 때 자식 테마의 기능을 업데이트하는 것을 잊어버리기 쉽기 때문에 이 방법을 권장하지 않습니다. 자식 테마가 항상 최신 버전의 부모 테마 기능을 사용하는지 확인할 수 있도록 재정의 방식을 사용하는 것이 좋습니다.

이 기사에서는 WordPress의 부모 테마 기능을 재정의하는 방법을 안내합니다. 세 가지 방법 중 하나를 사용하여 함수가 실행되는 순서를 변경하거나 전혀 발생하지 않도록 할 수 있습니다. 상위 테마를 생성할 때 함수용 플러그인을 포함하여 하위 테마 에서 쉽게 수정할 수 있도록 하는 것이 좋습니다. 상위 테마에서 기능을 제거하려면 remove_action() 및 remove_filter() 메소드를 사용하십시오. 사용하는 후크에 따라 함수의 우선 순위가 결정됩니다. 함수의 우선 순위가 20인 경우 우선 순위가 25인 하위 테마를 다시 작성하면 함수가 처음 생성되었을 때와 다르게 동작하게 됩니다. 반면에 우선 순위는 새 함수를 작성하는 방법과 관련이 없습니다. 하고 싶은 것을 선택하기만 하면 됩니다.

하위 테마의 WordPress 하위 테마

이미지 출처: https://gvtechnolab.in/how-to-create-child-theme-wordpress/

WordPress 자식 테마는 부모 테마라는 다른 테마에서 기능을 상속하는 테마입니다. 하위 테마는 상위 테마를 업데이트하는 기능을 잃지 않고 기존 테마를 변경하려는 경우에 자주 사용됩니다. 하위 테마가 활성화되면 WordPress는 먼저 하위 테마의 디렉토리에서 템플릿 파일을 찾습니다. 템플릿 파일이 하위 테마의 디렉토리에 없으면 WordPress는 상위 테마의 디렉토리에서 동일한 템플릿 파일을 찾습니다. 이를 통해 상위 테마의 파일을 직접 편집하지 않고도 상위 테마의 템플릿 파일을 재정의할 수 있습니다.

WordPress를 사용하면 HTML, CSS 및/또는 PHP에 대한 최소한의 지식으로 웹사이트를 쉽게 만들 수 있습니다. 이 방법의 단점은 개발자가 테마를 업데이트한 후에는 수정한 내용이 손실된다는 것입니다. 자식 테마를 사용하면 테마에서 아무것도 변경하지 않고도 웹사이트를 변경할 수 있기 때문에 훨씬 더 나은 아이디어입니다. 테마 파일 은 자식 테마가 기본 테마인지 수정 테마인지에 따라 편집되거나 변경됩니다. 지정한 상위 테마의 일부만 변경하기 때문에 모든 것을 복사하지는 않습니다. 하위 테마가 제대로 작동하려면 폴더, 스타일 시트 및 functions.php 파일의 세 가지가 있어야 합니다. 하위 테마에는 자체 폴더, 스타일 시트 및 functions.php 파일이 포함되어야 합니다.

하위 테마는 다른 테마와 마찬가지로 WordPress 설치의 WP 콘텐츠/테마 영역에 있습니다. 테마의 이름과 템플릿만 있으면 됩니다. 내가 하지 않기 때문에 나머지는 출판 목적으로 엄격하게 유지하는 것이 중요합니다. functions.php를 사용하면 워드프레스 웹사이트에 기능과 기능을 변경하고 추가할 수 있습니다. 파일을 만드는 것은 스타일 시트를 만드는 것만큼 간단합니다. 테마를 수정하기 위해 PHP를 사용하고 싶지 않다면 그것 없이 그냥 할 수 있습니다. 부모 테마가 있는 경우 웹사이트가 어떻게 생겼는지 잘 알고 있어야 합니다.

여기에서 만들려면 먼저 상위 테마의 스타일 시트에 대한 정보를 얻어야 합니다. CSS와 @import 규칙은 이를 수행하는 두 가지 방법입니다. 모든 것이 순조롭게 진행된다면 자녀 테마는 자녀를 위해 만든 테마와 같아야 합니다. 이제 테마를 사용자 정의하고 원하는 결과를 얻기 위해 주변을 변경할 수 있습니다. 다양한 옵션을 커스터마이징할 수 있으며 하나하나 꼼꼼히 살펴보겠습니다. 사용자 정의 스타일은 상위 테마와 동일한 스타일 계층을 갖는 하위 테마에 추가할 수 있습니다. 사용하는 방법을 사용하여 웹사이트를 얼마든지 변경할 수 있습니다.

항상 자식 테마의 폴더 구조를 부모 테마와 같은 순서로 유지하는 것이 좋습니다. 상위 테마의 page-templates라는 파일에 page-templates라는 폴더가 포함되어 있으면 하위 테마의 디렉토리에 동일한 이름을 포함하는 폴더를 만들 수 있습니다. 사용자 정의 페이지 템플릿을 생성하기 위해 단순히 page.php의 이름을 상위 테마에서 custom-full-width.php로 변경합니다. 첫 번째 예는 아래와 같이 바닥글 요소에 전체 너비 클래스를 추가하는 footer-custom.php 함수 입니다. 이제 아래 스타일 시트에 코드를 입력하기만 하면 됩니다. 이것은 우리의 전폭 페이지입니다. 약간의 연마가 있었더라도 현재로서는 결과에 만족해야 합니다.

테마 후크를 사용하면 핵심 파일을 편집하지 않고도 하위 테마를 사용자 지정할 수 있습니다. 테마 후크를 사용하여 기능 등의 콘텐츠를 테마에 바로 추가할 수 있습니다. 후크는 액션 후크와 필터 후크의 두 가지 종류가 있습니다. 사용자 지정 기능은 작업 후크를 사용하여 기존 기능에 추가할 수 있는 반면 필터 기능은 현재 기능을 수정할 수 있습니다. WordPress에서 자식 테마를 만드는 것은 간단합니다. 이렇게 하려면 한 줄의 코드만 필요합니다. 이 경우 Twenty Fifteen 테마의 바닥글에 크레딧을 지정하는 기능이 대상입니다. functions.php 옵션 을 사용하는 경우 하위 테마에서 수정된 footer.php 파일도 삭제되었는지 확인하세요.

자식 테마의 후크는 자녀의 작품 범위를 확장할 수 있습니다. 하위 테마를 사용하면 핵심 파일을 수정하지 않고도 웹사이트를 완전히 사용자화할 수 있습니다. 결과적으로 테마나 프레임워크를 추가하려는 경우 처음부터 작성하지 않고도 추가할 수 있습니다. 변경 사항은 테마 업데이트로부터 보호됩니다. 그리고 문제가 발생하면 항상 기능적 테마 를 갖게 됩니다.

하위 테마를 사용하는 3가지 이유

하위 테마를 사용하려는 몇 가지 이유가 있습니다. 기존 테마에 더 많은 사용자 정의를 추가할 수 있습니다. 사이트의 모양을 사용자 지정하려면 이미 사용자 지정 기능이 있는 테마로 수행할 수 있습니다. 원본 코드를 수정할 시간이나 지식이 없는 경우 테마를 사용할 수 있습니다. 대부분의 경우 자식 테마를 사용하는 것이 원하는 결과를 얻는 가장 편리한 방법입니다. 좋은 상위 테마 를 사용하면 변경 사항을 인지하고 이해할 수 있습니다. 자식 테마를 사용하는 많은 장점 중 하나는 자녀에게 특정한 테마를 만들 수 있다는 것입니다. 그러나 몇 가지 단점이 있습니다. 하위 테마는 사용자가 만든 다른 플러그인, 테마 또는 사용자 지정 가능성과 충돌할 수 있습니다. WordPress의 두 번째 문제는 하위 테마가 이전 버전의 플랫폼에서 작동하지 않는다는 것입니다. 모든 하위 테마가 모든 WordPress 플러그인과 항상 호환되는 것은 아닙니다. 자식 테마 사용의 이점은 부모 테마 사용의 단점보다 훨씬 큽니다. 게시하기 전에 데모를 사용하거나 하위 테마를 사용해 보고 싶을 수 있습니다.

자식 테마에 함수 PHP를 추가하는 방법

이미지 출처: https://www.wpbeaverbuilder.com/redirect-wordpress-page/

우리의 경우 php는 "functions"라는 이름의 파일만 만들면 자식 테마 폴더에 저장할 수 있습니다. 텍스트 편집기에 있는 php 태그를 저장하려면 PHP 여는 태그와 닫는 태그를 입력하고 함수로 저장합니다. 당신은 또한 옵션이 있습니다. 첫 번째 기능 파일 이 업로드되면 하위 테마 폴더에 업로드됩니다.

이 튜토리얼에서는 WordPress 자식 테마에 기능을 추가하는 방법을 배웁니다. Twenty Twelve 테마에서는 게시물의 메타 정보를 다른 모습으로 보여드리겠습니다. 시리즈의 일부로 이 튜토리얼에서 하위 테마에 기능을 추가하는 방법을 배우게 됩니다. Twenty Twelve에 포함된 functions.php 파일을 보면 헤더에 매우 흥미로운 줄이 포함되어 있음을 알 수 있습니다. 플러그 가능한 함수는 이와 같은 호출로 래핑됩니다. 함수 twotwelve_nice_function(존재한다고 가정)은 상위 테마 내에 존재하지 않는 경우에만 로드됩니다. 빈 파일을 생성하려면, 우리의 자식 테마 폴더에 functions.php를 입력하세요.

이 자습서에서는 Twenty Twelve 테마의 기본 출력을 수정합니다. 포스트 메타 정보 라인에 대한 형식화된 문자열을 생성하는 함수를 처리하기 위해 새로운 부서가 생성됩니다. 생성할 때까지 child-custom-meta div의 CSS 규칙이 제자리에 있어야 합니다. 새 functions.php 파일 과 새 style.html 파일을 하위 테마 폴더에 업로드해야 합니다.

자녀 테마의 파일에 액세스하는 방법

하위 테마의 폴더 구조를 통해 테마의 특정 파일을 수정할 수 있습니다. 시작하려면 사이트에 하위 테마의 폴더가 있어야 합니다. 그런 다음 다음 경로를 사용하십시오. br>a href=www.yourdomain.com/br>www.yourdomain.com/yourparenttheme 폴더/br>www.yourdomain.com/yourchildtheme 폴더/br>/a> 하위 테마인 경우 예를 들어 상위 테마는 sites/blog/themes/childtheme에 있습니다. 헤더가 변경되었는지 확인합니다. 예를 들어 site/blog/themes/child-theme/header로 이동하여 파일을 읽을 수 있습니다. 하위 테마의 특정 파일이 아닌 전체 상위 테마 를 수정하려는 경우 상위 테마의 폴더 구조를 사용하여 상위 테마의 파일에 액세스할 수 있습니다. 시작하려면 사이트에 상위 테마의 폴더가 있는지 확인하세요. 다음은 다음 단계입니다. www.sitename.com/ 예를 들어 상위 테마가 sites/blog/themes/default에 있는 경우 상위 테마의 파일은 그곳에 있습니다.