키 테이크 아웃
WordPress 플러그인 보일러 플레이트 시리즈의 세 번째 부분은 플러그인의 공개 기능을 구현하는 데 중점을두고 있으며, 여기에는 사용자 기본 설정 검색 및 단일 게시물보기에 그에 따라 통지 표시가 포함됩니다.
가이드는 테스트 테마를 준비하는 방법, 폰텐트 필터에 연결하는 방법, 컨텐츠를 조건부 수정하는 방법 및 현재 시간과 마지막 수정 된 시간의 일 차이를 계산하는 방법을 설명합니다.
스타일링 통지 텍스트도 논의되며, 저자는 전체 테마 디자인과 일치하는 간단한 스타일 가이드를 제공합니다. 저자는 또한 다양한 상황에 대한 동적 텍스트 및 기각 통지와 같은 잠재적 개선을 제안합니다.
저자는 WordPress 플러그인 보일러 플레이트의 이점을 강조하여 명확한 구조, 모범 사례에 대한 준수 및 플러그인 개발을위한 견고한 출발점을 갖는 시간 절약 측면을 주목함으로써 결론을 내립니다.
이 시리즈의 두 번째 부분에서는 플러그인의 간단한 관리자 직면 기능을 준비했습니다. 우리는 사용자에게 선호도에 따라 플러그인을 조정할 수있는 옵션 페이지를 제공했습니다.
파트 1과 2를 놓친 경우 아래를 찾으십시오.
WordPress 플러그인 보일러 플레이트 1 부 : WordPress 플러그인 보일러 플레이트를 사용한 속도 업 개발
WordPress 플러그인 보일러 플레이트 2 부 : WordPress 플러그인 개발
-
이 기사에서는 플러그인의 대중이 직면 한 기능을 구현할 것입니다. 즉, 사용자 기본 설정을 검색하고 특정 게시물이 구식인지 여부를 결정하고 단일 게시물보기에 그에 따라 통지를 표시 할 것입니다. 시작합시다!
테마 준비
우리는 나중에 테스트 할 수 있도록 테마를 준비해야합니다. 우리는 기본적으로 WordPress와 함께 배송되는 25 개의 테마를 사용할 것입니다. 게시물을 수동으로 채우지 않고 테마 검토 팀이 제공 한 테마 단위 테스트 데이터를 사용하여 게시물을 채 웁니다.
<download> 위의 Codex 페이지에 제공된 테마 -unit-test-data.xml을 다운로드하여 WordPress 설치로 가져와야합니다. WordPress 내장 가져 오기 기능은 도구> 사이드 바에서 가져 오기로 탐색하여 찾을 수 있습니다.
</download></prepare></theme></started>
</li>
<present> 우리는 다양한 선택이 제공 될 것이며 WordPress 내보내기 파일을 가져 오기 때문에 WordPress를 선택할 것입니다. WordPress 설치에 따라 WordPress 수입업자 플러그인이 설치되지 않은 경우 플러그인 팝업이 표시됩니다. 플러그인이 없으면 먼저 플러그인을 설치하면 실제 가져 오기 프로세스가 완료되면 진행됩니다.<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173967799394337.png" class="lazy" alt="WordPress 플러그인 보일러 플레이트 3 부 : 마지막 단계" >
<def> 이것은 기본 WordPress 가져 오기 페이지이므로 이전에 다운로드 한 Theme-Unit-Test-Data.xml을 선택하고 "파일 업로드 및 가져 오기"버튼을 클릭해야합니다.
<p>
그런 다음 두 번째 화면이 제시됩니다. 기본값으로 남겨 둘 수 있으므로 "저자 할당"섹션에 대해 걱정하지 마십시오. "첨부 파일 가져 오기"섹션에서 모든 외부 첨부 파일이 미디어 라이브러리로 다운로드되어 가져 오도록 확인란 "다운로드 및 가져 오기"를 선택하십시오.
<submit> "제출"버튼을 누르고 가져 오기 프로세스가 성공적으로 완료 될 때까지 기다리십시오. </submit></p>
<ready> 이제 우리는 통지를 표시하는 코드를 작성할 준비가되었습니다.
<the> el
<content define_public_hooks define_admin_hooks>이 코드 줄을 메소드에 추가하십시오
<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173967799624572.png" class="lazy" alt="WordPress 플러그인 보일러 플레이트 3 부 : 마지막 단계" >
<we> 이것은 우리는 Outdated_notice_public 클래스에 공개 the_content 메소드를 구현해야한다는 것을 의미합니다. public/class-outdated-notice-public.php를 열고 그에 따라 수정하십시오
<ify> 컨텐츠를 조건부로 수정
<_> the_content 필터는 다양한 플러그인과 내부 WordPress 코어에서 사용되므로 사용자 정의 컨텐츠를 삽입하는 데 신중해야합니다.
<make> 블로그 게시물 인덱스가 아닌 단일 게시물이 표시 될 때마다 구식 통지 텍스트 만 삽입해야합니다. 이를 위해서는 is_main_query 함수를 사용하여 필터링 할 수 있습니다. 이 기능은 실행중인 쿼리가 기본 또는 보조/사용자 정의 쿼리인지 확인해야 할 때마다 유용합니다.
<we> 우리가 고려해야 할 또 다른 사항은 게시물 유형의 단일보기에 대한 통지 텍스트 만 표시하므로 IS_SINGULAL ( 'POST') 유효성 검사는 작업에 적합합니다.
<upd> 이것은 outdated_notice_public 클래스 내부에 포함 된 업데이트 된 _content 메소드입니다.
<p>
<the> 날 차이 계산
우리가 시작하기 전에, 통지가 게시물의 "이전"으로 표시되고 일일 수의 임계 값을 30으로 설정하자.
<need> 먼저 플러그인의 저장된 설정을 검색해야합니다. get_option 함수는 작업을 수행하고 안전한 조치로서 Get_option에 대한 두 번째 인수로 기본값을 전달할 것입니다.<pre class="brush:php;toolbar:false"><span>$this->loader->add_action( 'the_content', $plugin_public, 'the_content' );</span>로그인 후 복사
현재 시간과 마지막 수정 된 시간의 날 차이를 계산하기 위해 두 개의 datetime 객체를 인스턴스화 할 것입니다. DATETIME 클래스에 내장 된 DIFF 방법을 사용하여 시차를 정확하게 측정 할 수 있습니다. DateTime 클래스는 PHP> = 5.3.0에서만 사용할 수 있습니다.
$ date_diff는 DateInterval 클래스의 인스턴스이므로 시간 차이와 관련하여 다양한 데이터를 사용할 수 있습니다. 우리가 $ date_diff 변수를 var_dump에하려면, 이것이 현재보고있는 게시물에 따라 우리가 얻어야 할 것입니다.
우리는 날 임계 값과의 비교로 사용되므로 일수에만 관심이 있습니다. 앞에서 말했듯이, 우리는 그것들을 비교하여 특정 클래스를 공지 div 요소에 적용하여 게시물 사이에 다르게 스타일을 지정할 수 있습니다.
<span>public function the_content( $post_content ) {
</span>
<span>if ( is_main_query() && is_singular('post') ) {
</span> <span>// do something
</span> <span>}
</span>
<span>return $post_content;
</span> <span>}</span>
로그인 후 복사
이 간단한 비교 블록은 우리의 div에 어떤 클래스를 사용할 것인지 결정하기에 충분합니다. 지금 남은 유일한 것은 실제로 HTML을 게시물 컨텐츠에 추가하도록 구성하는 것입니다.
더 나은 번역 준비 텍스트를 위해 _n 함수를 사용하여 게시물이 마지막으로 업데이트 된 이후 일수에 따라 사용할 적절한 텍스트를 선택적으로 선택합니다. 그런 다음, 우리는 나중에 스타일을 지정할 수 있도록 자체 div로 통지 텍스트를 래핑 할 것입니다. 자신의 취향에 대한 통지 텍스트를 자유롭게 조정하십시오.
$ 통지 변수에는 이제 게시물 컨텐츠에 삽입 할 마크 업이 포함되어야합니다. 남은 유일한 일은 그것을 추가하는 것입니다. <span>$position = get_option( 'outdated_notice_position', 'before' );
</span> <span>$days = (int) get_option( 'outdated_notice_day', 0 );</span>
로그인 후 복사
요약으로, 이것은 Outdated_notice_public 내부의 the_content 메소드가 마침내 보이는 방법입니다.
플러그인이 의도 한대로 작동하는지 확인하기 위해 몇 페이지를 찾아보십시오. 이것이 URL /2015/05/11/hello-world/.
<span>$date_now = new DateTime( current_time('mysql') );
</span> <span>$date_old = new DateTime( get_the_modified_time('Y-m-d H:i:s') );
</span> <span>$date_diff = $date_old->diff( $date_now );</span>
로그인 후 복사
통지 텍스트 스타일
우리는 간단한 스타일을 적용 할 것입니다. 그렇게하기 위해, 우리는 이미 사용 된 글꼴 크기 또는 글꼴 패밀리와 관련하여 아무것도 바꾸지 않을 것입니다. 또한, 우리는 지금 부트 스트랩 색 구성표와 스타일을 빌릴 것입니다.
공개/CSS 폴더 내부에 포함 된 구식이 아닌-public.css 파일을 엽니 다.
우리는 또한 사후 스타일을 나타내려면 두 가지 스타일이 필요합니다. 이 스 니펫은 트릭을 수행하여 신선한 게시물을위한 멋진 녹색 구성표와 구식 게시물에 대한 붉은 색 구성표를 제공해야합니다.
포스트 뷰를 새로 고치고 스타일의 스타일을 보자. 신선하고 구식 게시물의 예 :
그게 다야! 이제 WordPress 플러그인 보일러 플레이트를 기반으로 완전히 기능하는 플러그인이 개발되었습니다.
개선
지금까지 우리가 한 일에 따라 개선 될 수있는 다양한 것들이 있습니다. 그중에는 다음과 같습니다.
다른 컨텍스트에 대한 동적 텍스트, 구식 통지에 다른 텍스트를 사용할 수 있습니다.
는 사용되지 않으므로 Outdated-Public.js 스크립트의 queuing을 제거합니다.
게시물을 읽을 때 사용자 경험을 방해하지 않도록 해산 통지.
결론
WordPress 플러그인 보일러 플레이트는 처음부터 플러그인을 개발할 수있는 완벽한 출발점을 제공합니다. 이 시리즈의 마지막 부분에서 우리는 플러그인의 대중 직면 기능을 개발하여 완료되었습니다. 수정은 매우 간단하지만 거의 시간에 이루어 지지만 보일러 플레이트 자체에 의해 설정된 OOP 패턴을 유지하고 표준 및 모범 사례를 준수합니다.
코드의 전체 사본은 Part-3 지점의 Github에서 평소와 같이 사용할 수 있습니다.
WordPress 플러그인 보일러 플레이트에 대한 자주 묻는 질문 (FAQ)
WordPress 플러그인 보일러 플레이트는 무엇이며 중요한 이유는 무엇입니까? WordPress 플러그인 보일러 플레이트는 고품질 WordPress 플러그인을 구축하기위한 표준화되고 구성 및 객체 지향적 기초입니다. 특히 WordPress 플러그인 개발을 처음 접하는 개발자에게 이해하고 작업하기 쉬운 명확하고 일관된 구조를 제공합니다. 견고한 출발점을 제공하여 시간과 노력을 절약하여 공통 코드를 처음부터 작성해야 할 필요성을 줄이기 때문에 중요합니다. 또한 플러그인의 성능, 보안 및 유지 가능성을 향상시키는 모범 사례를 촉진합니다.
WordPress 플러그인 보일러 플레이트 사용을 어떻게 시작합니까? WordPress 플러그인 보일러 플레이트 사용을 시작하려면 어떻게해야합니까? 먼저 Github 저장소에서 다운로드해야합니다. 다운로드하면 플러그인의 세부 사항과 일치하도록 보일러 플레이트의 디렉토리 및 파일의 이름을 바꿀 수 있습니다. 보일러 플레이트의 코드는 잘 작성되어 사용자 정의 코드를 배치 할 위치를 안내합니다. 플러그인의 세부 정보를 반영하기 위해 메인 플러그인 파일에서 플러그인 헤더를 업데이트하는 것을 잊지 마십시오. - 상용 프로젝트에 WordPress 플러그인 보일러 플레이트를 사용할 수 있습니까?
- 예, WordPress 플러그인 보일러 플레이트는 오픈 소스입니다. GPL에 따라 라이센스가 부여되므로 개인 및 상업 프로젝트 모두에 사용할 수 있습니다. 그러나 플러그인의 문서 또는 크레딧에서 보일러 플레이트를 인정하는 것이 좋습니다. WordPress 플러그인 보일러 플레이트 프로젝트에 어떻게 기여할 수 있습니까?
WordPress 플러그인 보일러 플레이트는 커뮤니티 중심 프로젝트이며 기부금은 항상 환영합니다. 버그를보고하거나 개선을 제안하거나 GitHub 저장소에 풀 요청을 제출하여 기여할 수 있습니다. 기여하기 전에 프로젝트의 기여 가이드 라인을 읽고 이해해야합니다. WordPress 플러그인 보일러 플레이트의 구조는 무엇입니까?
WordPress 플러그인 보일러 플레이트는 코드를 구성하도록 설계된 특정 구조를 따릅니다. 그리고 관리 가능합니다. ‘관리자’,‘포함’및‘공개’의 세 가지 주요 디렉토리로 구성됩니다. 'admin'디렉토리에는 플러그인의 관리자 별 측면에 대한 CSS, JavaScript 및 PHP 파일이 포함되어 있습니다. '포함'디렉토리는 핵심 플러그인 클래스 및 기타 공유 기능을 정의하는 데 사용됩니다. '공개'디렉토리에는 플러그인의 공개 측면에 대한 파일이 포함되어 있습니다.
WordPress 플러그인 보일러 플레이트를 사용하여 플러그인에 새 기능을 추가하려면 새 기능을 추가하려면 새 기능을 추가하려면 새 기능을 추가하려면 새로운 기능 플러그인의 기능은 일반적으로 '포함'디렉토리의 해당 기능에 대한 새로운 클래스를 만듭니다. 이 클래스는 기능을 실행 해야하는 모든 후크를 정의해야합니다. 그런 다음 메인 플러그인 클래스 에서이 클래스를 인스턴스화하여 '실행'기능에 추가합니다. 이 모듈 식 접근 방식은 플러그인의 기능을 쉽게 추가, 제거 또는 수정할 수 있습니다. WordPress 플러그인 BoilerPlate으로 플러그인 옵션을 처리하는 방법은 무엇입니까?
WordPress 플러그인 BoilerPlate은 클래스를 제공합니다. 'admin'디렉토리의 플러그인 옵션 처리. 이 클래스에는 설정 등록, 섹션 및 필드 정의 및 설정 페이지 렌더링 기능이 포함됩니다. 플러그인의 특정 옵션을 처리하기 위해이 클래스를 확장 할 수 있습니다.
WordPress 플러그인 보일러 플레이트로 플러그인을 국제화하려면 WordPress 플러그인 보일러 플레이트에는 '포함'의 국제화 클래스가 포함되어 있습니다. 예배 규칙서. 이 클래스는 플러그인의 텍스트 도메인을로드하여 다른 언어로 변환 될 수 있습니다. 보일러 플레이트의 자리 표시 자 텍스트 도메인을 플러그인의 텍스트 도메인으로 교체하면됩니다. WordPress 플러그인 보일러 플레이트로 스크립트와 스타일을 어떻게 흡수합니까? 'admin'및 'public'디렉토리의 스크립트와 스타일을 흡수합니다. 이 클래스에는 스크립트와 스타일을 등록하고 수용하는 기능이 포함되어 있으며 적절한 장소와 적절한 시간에로드되도록합니다. WordPress 플러그인 보일러 플레이트로 플러그인을 깨끗하게 제거하는 방법? WordPress 플러그인 보일러 플레이트에는 WordPress 대시 보드에서 플러그인이 제거 될 때 실행되는 Uninstall.php 파일이 포함되어 있습니다. 이 파일에는 플러그인 옵션 또는 데이터베이스 테이블 제거와 같은 모든 정리 코드가 포함되어야합니다. 이렇게하면 플러그인이 제거 될 때 플러그인이 뒤처지지 않도록합니다.
위 내용은 WordPress 플러그인 보일러 플레이트 3 부 : 마지막 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!