내가 만난 모든 문서는 플러그인을 통해 플러그 가능한 기능을 재정의하는 것에 대해 설명합니다.
테마 개발을하고 있다면 어떨까요?
내 functions.php에는 get_user_by()
에 정의 된 함수 를 재정의하는 다른 파일이 필요합니다 pluggable.php
.
if( function_exists() )
전화를 생략하면 "재 선언 할 수 없습니다 ..."오류가 발생합니다.
if( function exists() )
호출을 포함하면 오류가 발생하지 않지만 플러그 가능한 버전이 존재하기 때문에 내 기능은 무시됩니다.
에 도미닉의 멋진 게시물에 기반 워드 프레스 시작하기 위해 , 그 분명 pluggable.php
로드 하기 전에 테마의 functions.php
그 오류를 설명하고 있으므로, 등등합니다.
문제는 플러그인을 작성하거나 테마와 함께 번들로 설치하지 않고도 테마 내에서 멋진 플러그 가능한 아키텍처를 어떻게 활용할 수 있습니까?
추가 참고 사항 : 따라서 테마가 플러그인이 수행하는 작업을 수행해서는 안된다는 주장이 있습니다. 그러나이 주장은 4 년이 넘었습니다 (4 자리 트랙 번호에 따라). 오늘날의 테마 개발 환경의 복잡한 토폴로지를 고려할 때이 철학이 여전히 적용되는지 여부를 많은 타자들로부터 듣고 싶습니다. 그 이후로 우리가 진화했다고 믿고 싶습니다.
컨텍스트 : 많은 사용자 지정 메타 데이터, 관리자 백엔드 사용자 지정, 로그인 / 인증 프로세스, 작업을 통해 고객을위한 일회용 CMS 솔루션을 개발 중입니다. 그리고 물론, 디자인 요소있다 -.의 테마 부분이 들어오는 사실은, 이들이 단순히 하지 재사용 가능한 구성 요소 - 그들은 다른 클라이언트에 적용되지 않습니다, 그들은 GPL 아래에 넣어되지 않습니다 및 오픈 소스, 그들은 대부분입니다 확실히 다른 워드 프레스 배포에 배포 / 설치되지 않아야합니다. 기껏해야 향후 프로젝트에 활용할 모범 사례가 있지만 이는 참조 / 복사-붙여 넣기 작업이 될 것입니다.
이것은 플러그인의 유스 케이스처럼 들리지 않습니다. 테마는 아마도 Twenty Eleven의 하위 테마 일 수도 있고 독립형 일 수도 있습니다. functions.php는 포함 된 보트로 호출되며 각각은 해당 CMS의 다른 측면을 처리합니다. 그런 다음 테마 템플리트 파일은 포함에 정의 된 사용자 정의 '템플릿 태그'를 사용합니다. 일부 플러그인 또는 다른 플러그인에 의존하는 테마 파일을 갖고 싶지 않습니다. 시스템에 복잡성을 구축하는 것은 의미가 없습니다. 물론 필자는이 플러그인을 필수 플러그인 폴더에 넣을 수 있지만 지금은 여전히 해킹처럼 느껴 집니다.이 프로젝트의 사용자 정의와 관련된 모든 것은에 포함되어 wp-content/themes/my-theme/
있습니다. 또한 일부 플러그인 폴더에서 물건을 검색하는 것을 고려하고 싶지 않습니다.
내가 틀리지 마 나는 플러그인을 좋아하고 그것들을 사용하고 작성합니다. 그리고 플러그인이 타사 일 때 이러한 종류의 고도로 맞춤화 된 테마 개발과 함께 플러그인을 사용 하며 합리적인 기간 내에 출시 할 수있는 것 이상의 모범 사례를 나타냅니다. 그러나 일회성 시나리오의 핵심 기능을 수정해야 할 때 작업 후크, 필터 후크로 전환하고 사용자 및 인증 측면에서도 플러그 가능한 기능에 의존하고 싶습니다.