찾다
백엔드 개발PHP 튜토리얼WordPress 테마 프레임워크 작동 방식

테마 프레임워크는 매우 강력하다고 할 수 있습니다! 기술적 지식이 없는 WordPress 사용자의 경우 테마 프레임워크를 사용하면 고유하고 맞춤형 테마를 실행하는 것처럼 보이는 웹 사이트를 구축할 수 있으며, WordPress 개발자의 경우 DRY(dry)를 사용하는 데 도움이 될 수 있습니다. 자신) 신속하게 맞춤형 웹사이트를 구축하세요.

일정 기간 동안 타사 프레임워크를 사용했는데 해당 코드가 비대해지고 유연성이 부족하여 매우 좌절감을 느끼거나 자신의 프레임워크를 완전히 제어하고 싶은 경우 코드를 작성했다면 자신만의 테마 프레임워크를 구축하는 것이 의심할 여지 없이 최선의 선택입니다!

이 튜토리얼 시리즈에서는 자신만의 WordPress 테마 프레임워크를 만들어 자신이나 클라이언트를 위한 웹사이트를 구축하거나 이를 게시하고 다른 사용자와 공유하는 방법을 알아봅니다. 프레임워크의 기본 사항을 사용하여 상위 테마 만들기, 추가 기능 추가, 후크("후크"라고도 함) 등을 포함하여 다음 학습 단계를 거치게 됩니다. 또한 하위 테마 및 플러그인에서 이러한 기술을 사용하는 방법, 코드를 대중과 공유하는 방법 등을 배우게 됩니다.

그러나 시작하기 전에 테마 프레임워크의 작동 방식과 표준 상위 테마와의 차이점이 정확히 무엇인지 알아야 합니다.

저는 두 가지 유형의 클라이언트 웹사이트에 적용되는 두 가지 테마 프레임워크를 개발하는 데 시간을 보냈으며 시간이 지남에 따라 일부 애플리케이션을 계속해서 향상하고 개선했습니다. 나는 또한 일부 테마 프레임워크를 개발하기 위해 제3자와 협력했습니다. 내 경험에 따르면 테마 프레임워크는 다음과 같은 주요 기능을 가져야 합니다.

  • 일반적으로 주로 상위 테마로 구성되며 하위 테마와 함께 사용하도록 설계됩니다. 어떤 경우에는 상위 테마가 단독으로 사용되지만 다른 경우에는 상위 테마를 하위 테마와 함께 사용해야 합니다. 이는 WordPress 코덱에서 각각 "기본/스타터 테마" 및 "코드 베이스"로 정의합니다.
  • 일반적으로 하위 테마와 플러그인에서 활용할 수 있는 몇 가지 후크와 기능이 포함되어 있습니다. 테마 프레임워크는 전체 생태계의 기초이며 프레임워크에 연결되는 일부 플러그인도 포함되어 있습니다.
  • 프로그래밍을 할 수 없는 사용자가 사용하는 경우 사용자가 자신의 필요에 따라 테마를 맞춤 설정할 수 있는 테마 옵션 페이지가 포함됩니다. 디자인, 레이아웃, 기능성, 콘텐츠 등은 다양하고 혼합될 수 있습니다. 경우에 따라 테마 맞춤설정 도구를 통해 일부 기능이 제공될 수 있습니다.
  • 기술 지식이 없는 사용자도 WordPress 위젯(프레임워크용으로 특별히 작성한 플러그인을 통해 추가된 위젯 포함)을 통해 콘텐츠나 코드를 추가할 수 있도록 여러 위젯 영역이 포함될 수 있습니다.
  • jQuery 슬라이더나 라이트박스 효과와 같은 스크립트 라이브러리 기능이 포함될 수도 있습니다. 귀하와 사용자의 필요에 따라 이들을 테마 프레임워크에 통합하거나 프레임워크에 연결되는 일부 플러그인을 제공해야 할 수도 있습니다.
  • 일반적으로 확장 가능하며 후크를 사용하여 하위 테마 및 관련 플러그인을 통해 기능을 확장할 수 있습니다.

위의 첫 번째와 두 번째 사항은 기본입니다. 상위 테마가 없으면 테마 프레임워크가 없습니다. 이러한 후크와 기능이 없는 상위 테마는 기본 상위 테마로만 간주될 수 있으며 실제 테마 프레임워크라고 할 수 없습니다.

위는 테마 프레임워크에 관한 내용인데 어떻게 작동하나요? 먼저 테마 프레임워크의 요소를 살펴보겠습니다.

  • 상위 테마 및 선택적 하위 테마
  • 액션 및 필터 후크
  • 함수
  • 테마 옵션
  • 위젯
  • 스크립트
  • 확장성

AD: Web Studio

상위 테마 및 하위 테마

테마 프레임워크의 주요 구성 요소는 상위 테마로, 두 가지 방법으로 디자인할 수 있습니다.

  • 초기 테마는 테마 옵션 인터페이스나 테마 장치를 통해 맞춤 설정할 수 있습니다. 사용자 정의합니다. 예를 들면 Atahualpa와 Thematic이 있습니다. 이 두 가지는 하위 테마를 사용하지 않고도 독립형 테마의 좋은 예가 될 수 있습니다.
  • 차일드 테마를 통해 웹사이트의 기반을 추가해야 하기 때문에, 해당 차일드 테마가 없으면 웹사이트에서 테마 프레임워크를 효과적으로 사용할 수 없습니다. 이에 대한 예로는 하이브리드 코어(Hybrid Core)와 제네시스(Genesis)가 있습니다. 여기에는 하위 테마는 물론 관련 플러그인을 통해 활용할 수 있는 일련의 후크와 기능이 포함된 테마에서 일반적으로 찾을 수 있는 몇 가지 기본 코드가 포함됩니다. 모두 테마 프레임워크에 적합한 API(Application Programing Interface)를 구성합니다.

테마 프레임워크의 주요 기능 중 하나는 DRY 원칙이므로 가능하면 상위 테마는 템플릿 위젯과 포함 파일을 사용합니까? 위치. 또한 템플릿 구성 요소를 교체하거나 포함 파일을 생성하기만 하면 되기 때문에 하위 테마에서 코드를 더 쉽게 다시 작성할 수 있습니다.

부모 테마와 자식 테마의 개념은 "자식 테마 튜토리얼"에서 소개할 예정이므로 여기서는 당분간 설명하지 않겠습니다. 많은 테마 프레임워크에는 스스로를 지원하는 일련의 하위 테마가 장착되어 있지만 자신에게 더 적합한 다른 하위 테마를 갖고 싶다면 직접 개발해야 합니다.

자신만의 메인 프레임워크를 개발하는 경우 각 프로젝트 개발 작업이 중복되지 않도록 "초기" 하위 테마를 하나 이상 만드는 것이 좋습니다. 다양한 유형의 프로젝트에 대해 여러 개를 만들 수도 있습니다. 일부 하위 주제 블로그 및 블로그가 아닌 사이트와 같은 기반으로.

액션 후크 및 필터 후크

테마 프레임워크에는 사용자 정의 코드를 추가하거나 테마 작동 방식을 변경할 때 하위 테마 및 플러그인에 연결되는 일련의 후크가 포함되어 있습니다.

  • 액션 후크는 코드의 여러 위치에 나타나 테마 프레임워크에 작성된 함수를 통해 템플릿 파일에 관련 코드를 추가할 수 있으며 이 메인 프레임워크가 다룰 주제가 될 수 있습니다. 제가 만든 테마 프레임워크는 모든 템플릿 파일에 제공되는 액션 후크를 많이 사용하여 사용자가 위젯 영역, 연락처 세부 정보 등의 콘텐츠를 자유롭게 사용할 수 있도록 하고 필요할 때마다 사이트별로 액션 버튼을 호출합니다. 코드.
  • 필터 후크를 사용하면 사용자 정의 루프, 정적 콘텐츠 수정 등과 같은 하위 테마 또는 특정 플러그인 동작을 사용하는 방식을 변경할 수 있습니다. 모든 정적 텍스트(또는 사이트 외부에서 호출되는 코드)는 하위 테마의 요구 사항에 따라 변경될 수 있도록 필터 내에 래핑되어야 합니다.

초기 단계에서 어떤 후크를 포함할지 생각하는 데 시간을 할애할 가치가 있으므로 후크를 통해 어떤 콘텐츠를 포함해야 하는지, 어떤 내용을 직접 템플릿 파일. 다음 튜토리얼에서 이에 대해 배울 것입니다.

기능

테마 프레임워크에는 일련의 기능이 포함될 수도 있습니다. 이들 중 일부는 정의한 작업 후크 및 필터 후크에 연결되고 다른 일부는 템플릿 태그와 같은 기능이며 하위 테마는 이러한 기능을 사용할 수 있습니다.

일부 클라이언트 웹사이트에서 사용자 정의 기능을 사용한 경우 해당 기능을 테마 프레임워크에도 추가할 수 있습니다. 또한 모든 기능을 활성화할 필요는 없습니다. 하위 사이트에서 add_action() 함수를 사용하여 상위 테마와 관련된 기능만 활성화하면 됩니다.

테마 옵션

테마 옵션 인터페이스는 복잡한 테마, 특히 기술 지식이 없는 사용자에게 유용합니다. 일부 주요 테마 프레임워크에는 자체 관리 영역에 여러 테마 옵션 인터페이스가 포함되어 있습니다. 옵션에는 기능 전환, 레이아웃 수정, 콘텐츠 추가, 색상, 배경 이미지, 글꼴, 제목 이미지 등과 같은 디자인 요소 변경이 포함됩니다.

테마 사용자 정의 도구를 사용하여 다양한 옵션을 완료할 수 있다는 장점은 사용자가 테마를 사용자 정의하는 동안 변경 사항을 직접 볼 수 있다는 것입니다. 나는 학교 웹사이트를 위해 Mark Wilkinson과 함께 개발한 Edupress 테마 프레임워크를 위해 이 작업을 수행했습니다.

위젯 영역

일련의 위젯 영역을 추가하도록 선택해야 하는지 여부는 테마 프레임워크를 사용하는 대상에 따라 다릅니다. 즉, 본인 또는 소규모 개발자 팀만 사용하는 경우 따라서 표준 사이드바 및 바닥글 위에 위젯 영역을 추가할 필요가 없을 것입니다.

그러나 테마 프레임워크가 기술적인 지식이 없는 사용자를 대상으로 하는 경우에는 테마 프레임워크의 다양한 위치에 여러 위젯 영역을 등록하여 유연성을 높일 수 있습니다. 사이트 헤더, 표준 사이드바 및 바닥글, 콘텐츠 앞/뒤, 바닥글 아래에도 위젯 영역을 등록할 수 있습니다.

제 클라이언트 웹사이트에서 사용하는 테마 프레임워크에는 바닥글에 4개의 위젯 영역이 있습니다. 테마는 어느 부분이 채워졌는지 확인하고 그에 따라 CSS 클래스를 추가하므로 채워진 위젯 영역은 고유한 위젯 영역을 갖게 됩니다. 페이지.

위젯 영역은 템플릿 파일에 직접 작성될 수도 있고, (나처럼) 사이트의 관련 위치에 액션 후크를 통해 추가하도록 결정할 수도 있습니다. 이는 선택적 위젯 영역이든 사용자 정의 코드이든 관계없이 하위 테마에서 재정의될 수 있음을 의미합니다.

스크립트

특정 스크립트가 자체 테마 프레임워크 위에 구축된 일부 웹사이트에서 사용될 가능성이 있거나 사용자가 기술적 지식이 없는 경우 더 많은 옵션을 제공하고 싶을 경우 슬라이더나 라이트박스 효과 스크립트와 같은 일부 특정 스크립트를 프레임에 포함할 수 있습니다. 이렇게 하면 사용자가 추가 플러그인을 설치하지 않아도 되지만 스크립트가 실제로 필요하지 않은 경우에는 용량이 커질 수 있어 부족합니다.

이러한 스크립트를 포함하는 경우 테마 옵션 인터페이스에 활성화 및 비활성화 옵션을 포함하는 것과 같습니다.

확장성

현재 프레임워크가 특정 웹사이트 집합에 유용하다면 나중에 확장성을 원할 수도 있습니다. 프레임워크의 핵심을 형성하는 상위 테마는 이 생태계의 핵심과 동일합니다. 귀하와 귀하의 테마 사용자는 귀하의 웹 사이트를 더욱 개선하고 더 많은 옵션과 기능을 추가하게 됩니다. 여기에는 다음이 포함됩니다.

  • 하위 테마 또는 초기 테마 - 이러한 목록은 시간이 지남에 따라 변경될 수 있으며, 특히 테마를 대중에게 공개하는 경우 더욱 그렇습니다.
  • 프레임워크용으로 설계된 플러그인은 프레임워크별 후크를 통해 활성화되는 경우가 많습니다.

또한 프레임워크를 사용하려는 다른 개발자를 위한 유용한 문서가 포함될 수도 있습니다. 가장 중요한 테마 프레임워크에는 개발자가 프레임워크에서 작업을 사용자 정의하는 데 사용할 수 있는 광범위한 문서가 함께 제공됩니다. 웹사이트를 구축하거나 다른 사용자를 위해 일부 하위 테마나 플러그인을 만듭니다.

요약

테마 프레임워크는 WordPress 개발자의 무기고에 있는 매우 강력한 도구입니다. 보시다시피, 이 도구를 사용하여 사용자 정의 WordPress 사이트를 만드는 수천 명의 비기술 소유자뿐만 아니라 개발자가 스스로 다양한 웹 사이트를 만들거나 원하는 다른 개발자에게도 중요합니다. 그들의 고객.

테마 프레임워크는 일반적으로 확장성과 유연성이라는 몇 가지 특성을 갖고 있으며, 이를 통해 귀하 또는 귀하의 사용자는 하위 테마를 사용하여 웹사이트를 맞춤화함으로써 프레임워크에서 제공하는 관련 기능 및 후크에 쉽게 액세스할 수 있습니다.

우리는 이미 기본 프레임워크가 어떻게 작동하는지 알고 있습니다. 이 시리즈의 다음 강의에서는 프레임워크가 무엇을 해야 하는지, 누구를 위해 작동해야 하는지 등을 이해하게 될 것입니다. 주제 프레임워크에 적합한 개발 경로.

저작권표시: 전재시 출처 URL을 표기해주세요

위 내용은 WordPress 테마 프레임워크의 작동 방식을 다양한 측면을 포함하여 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP vs. Python : 차이점 이해PHP vs. Python : 차이점 이해Apr 11, 2025 am 12:15 AM

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP : 죽어 가거나 단순히 적응하고 있습니까?PHP : 죽어 가거나 단순히 적응하고 있습니까?Apr 11, 2025 am 12:13 AM

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래 : 적응 및 혁신PHP의 미래 : 적응 및 혁신Apr 11, 2025 am 12:01 AM

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

PHP의 초록 클래스 또는 인터페이스에 대한 특성과 언제 특성을 사용 하시겠습니까?PHP의 초록 클래스 또는 인터페이스에 대한 특성과 언제 특성을 사용 하시겠습니까?Apr 10, 2025 am 09:39 AM

PHP에서, 특성은 방법 재사용이 필요하지만 상속에 적합하지 않은 상황에 적합합니다. 1) 특성은 클래스에서 다중 상속의 복잡성을 피할 수 있도록 수많은 방법을 허용합니다. 2) 특성을 사용할 때는 대안과 키워드를 통해 해결할 수있는 방법 충돌에주의를 기울여야합니다. 3) 성능을 최적화하고 코드 유지 보수성을 향상시키기 위해 특성을 과도하게 사용해야하며 단일 책임을 유지해야합니다.

DIC (Dependency Injection Container) 란 무엇이며 PHP에서 사용하는 이유는 무엇입니까?DIC (Dependency Injection Container) 란 무엇이며 PHP에서 사용하는 이유는 무엇입니까?Apr 10, 2025 am 09:38 AM

의존성 주입 컨테이너 (DIC)는 PHP 프로젝트에 사용하기위한 객체 종속성을 관리하고 제공하는 도구입니다. DIC의 주요 이점에는 다음이 포함됩니다. 1. 디커플링, 구성 요소 독립적 인 코드는 유지 관리 및 테스트가 쉽습니다. 2. 유연성, 의존성을 교체 또는 수정하기 쉽습니다. 3. 테스트 가능성, 단위 테스트를 위해 모의 객체를 주입하기에 편리합니다.

SPL SplfixedArray 및 일반 PHP 어레이에 비해 성능 특성을 설명하십시오.SPL SplfixedArray 및 일반 PHP 어레이에 비해 성능 특성을 설명하십시오.Apr 10, 2025 am 09:37 AM

SplfixedArray는 PHP의 고정 크기 배열로, 고성능 및 메모리 사용이 필요한 시나리오에 적합합니다. 1) 동적 조정으로 인한 오버 헤드를 피하기 위해 생성 할 때 크기를 지정해야합니다. 2) C 언어 배열을 기반으로 메모리 및 빠른 액세스 속도를 직접 작동합니다. 3) 대규모 데이터 처리 및 메모리에 민감한 환경에 적합하지만 크기가 고정되어 있으므로주의해서 사용해야합니다.

PHP는 파일 업로드를 어떻게 단단히 처리합니까?PHP는 파일 업로드를 어떻게 단단히 처리합니까?Apr 10, 2025 am 09:37 AM

PHP는 $ \ _ 파일 변수를 통해 파일 업로드를 처리합니다. 보안을 보장하는 방법에는 다음이 포함됩니다. 1. 오류 확인 확인, 2. 파일 유형 및 크기 확인, 3 파일 덮어 쓰기 방지, 4. 파일을 영구 저장소 위치로 이동하십시오.

Null Coalescing 연산자 (??) 및 Null Coalescing 할당 연산자 (?? =)은 무엇입니까?Null Coalescing 연산자 (??) 및 Null Coalescing 할당 연산자 (?? =)은 무엇입니까?Apr 10, 2025 am 09:33 AM

JavaScript에서는 NullCoalescingOperator (??) 및 NullCoalescingAssignmentOperator (?? =)를 사용할 수 있습니다. 1. 2. ??= 변수를 오른쪽 피연산자의 값에 할당하지만 변수가 무효 또는 정의되지 않은 경우에만. 이 연산자는 코드 로직을 단순화하고 가독성과 성능을 향상시킵니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음