>CMS 튜토리얼 >Word누르다 >WordPress 플러그인 보일러 플레이트 2 부 : 플러그인 개발

WordPress 플러그인 보일러 플레이트 2 부 : 플러그인 개발

William Shakespeare
William Shakespeare원래의
2025-02-16 11:23:11289검색

WordPress 플러그인 보일러 플레이트 2 부 : 플러그인 개발 내 시리즈의 첫 번째 부분 인 WordPress 플러그인 보일러 플레이트 소개에서 코드가 보일러 플레이트 내에서 어떻게 구성되는지 살펴 보았습니다. 이 시리즈를 계속하려면 이전에 배운 내용을 적용하여 실제 작업 플러그인을 작성합니다. 우리는 가능한 한 적은 작업으로 보일러 플레이트 코드를 사용하여 플러그인을 얼마나 빨리 가져올 수 있는지 살펴볼 것입니다. 이 기사는 플러그인의 생성 및 활성화 및 플러그인의 관리 기능을 개발하는 데 중점을 둘 것입니다. 이 튜토리얼을 따르려면 PHP 및 WordPress에 대한 기본적인 이해와 WordPress 플러그인 API에 대한 실무 지식이 필요합니다. 키 테이크 아웃

WordPress 플러그인 보일러 플레이트를 사용하여 구조화되고 체계적인 접근 방식으로 개발 프로세스를 신속하게하여 모범 사례를 준수합니다. 설정 API를 사용하여 옵션 페이지를 추가하여 플러그인을 사용자 정의하여 사용자가 알림 표시 위치와 같은 설정을 수정하고 게시물이 구식으로 간주됩니다. 설정을 등록하고, 설정 필드를 추가하고, 보일러 플레이트에서 제공된 클래스 및 메소드를 사용하여 이러한 설정 값의 저장 및 검색을 처리하여 플러그인 기능을 구현하십시오. 옵션 페이지에 대한 깨끗하고 사용자 친화적 인 인터페이스를 만들어 플러그인의 관리자 대면 기능을 최적화하고 설정이 올바르게 저장되고 표시되는지 확인하십시오. 플러그인의 효율성 및 사용자 경험을 개선하기위한 코드 정리, 국제화 및보다 선택적인 응용 프로그램 논리와 같은 추가 향상을 계획하십시오.

플러그인 우리는 특정 게시물이 마지막으로 업데이트 된 이후 일수를 표시 할 간단한 플러그인을 개발할 것입니다. 또한 플러그인에 몇 가지 간단한 사용자 정의를 제공 할 것입니다. 사용자는 게시물이 구식으로 간주되고 게시물 내용의 통지 위치를 선택할 수 있습니다. > 보일러 플레이트 준비 첫 번째 기사에서 언급했듯이, 우리는 보일러 플레이트의 새로운 사본을 다운로드하고 검색을 수행하고 직접 교체 할 수 있습니다. 또는 비공식 WordPress 플러그인 보일러 플레이트 생성기를 사용하여 프로세스 속도를 높일 수 있습니다. 플러그인에 생성기를 사용해 봅시다 WordPress 플러그인 BoilerPlate Generator 웹 사이트로 가서 적절한 값으로 양식을 작성하십시오. 플러그인을 "구식 통지"로 호출해 봅시다. 다음은 필드가 채워진 샘플 양식입니다

공식 저장소에 연결되는 플러그인 URL에 가상의 URL을 사용하고 있습니다. 플러그인 헤더에서 나중에 항상 수정할 수 있으므로이 물건에 대해 너무 걱정하지 마십시오. "빌드"버튼을 클릭하면 WordPress 플러그인 보일러 플레이트의 멋진 사용자 정의 사본을 가져와야합니다. 플러그인을 설치하고 활성화합니다 생성 된 지퍼 아카이브에는 두 개의 예상 디렉토리, 자산 및 트렁크가 포함됩니다. 플러그인을 설치할 때 Symlink 경로를 사용하지 않으므로 아카이브에서 트렁크 폴더를 추출하여 WP-Content/Plugins Directory에 복사하십시오. 우리는 여전히 다른 플러그인과의 명명 충돌을 피하기 위해 적절하게 이름을 바꿔야하므로 트렁크 디렉토리의 이름을 구식이 아닌 것입니다. . 이제 WP-Admin의 "설치된 플러그인"섹션으로 이동하면 플러그인이 설치되었지만 아직 활성화되지 않은 플러그인 목록에있는 것을 볼 수 있습니다. 플러그인 보일러 플레이트 생성기는 플러그인 설명과 관련하여 아무것도 변경하지 않으므로 변경하려면 메인 플러그인 파일의 설명을 간단히 편집 할 수 있습니다.

"활성화"를 클릭하여 반짝이는 새 플러그인을 활성화하십시오. WordPress 사이트에서는 아무것도 변경되지 않으므로 플러그인을 활성화 한 후 아직 볼 것이 없다고 걱정하지 마십시오. 옵션 옵션 추가 페이지 플러그인 개발자는 일반적으로 사용자가 플러그인의 설정을 사용자 정의 할 수있는 수단을 제공합니다. WordPress에서 제공 한 설정 API를 사용하여 달성 할 수 있습니다. 우리 자신의 설정을 플러그인에 어떻게 통합 할 수 있는지 살펴 보겠습니다.

간단히 말해서, 우리는 사용자가 게시물 컨텐츠 이전 또는 게시물 컨텐츠 후에 통지가 나타날 위치를 선택할 수있게 해줄 것입니다. 임계 값 수가 발생하는 한, 사용자는 게시물을 구식으로 간주하기 전의 수를 설정할 수 있습니다. 그 정보를 사용하여, 우리는 여전히 신선한 것으로 간주되는 게시물과 다르게 스타일을 지정할 수 있도록 통지 클래스를 동적으로 변경할 것입니다. 플러그인의 옵션 페이지를 추가하여 시작하겠습니다.

관리자 폴더 내부에서 Class-outed-notice-admin.php를 엽니 다. 플러그인의 설정 페이지를 등록 할 수 있도록이 클래스를 수정해야합니다. 수업 끝에이 공개 방법을 추가하십시오.

주목해야 할 사항은 클래스를 사용하여 후크를 정의하기 때문에 호출 할 기능을 직접 지정하는 대신 배열 (, 우리는 아직 끝나지 않았습니다! 볼 수 있듯이 add_options_page에는 유효한 콜백 함수가 필요합니다. 유효한 콜백 함수가 필요합니다. 추가하겠습니다. 이는 관리 제공되지 않은 Outice-Admin-Display.php를 관리자/부분 폴더에 포함시키기 때문에 충분히 간단해야합니다. 따라서 콜백 기능을 위해해야 ​​할 일은 해당 파일을 포함시키는 것입니다.

<span>/**
</span><span>	 * Add an options page under the Settings submenu
</span><span>	 *
</span><span>	 * <span>@since  1.0.0
</span></span><span>	 */
</span>	<span>public function add_options_page() {
</span>	
		<span>$this->plugin_screen_hook_suffix = add_options_page(
</span>			<span>__( 'Outdated Notice Settings', 'outdated-notice' ),
</span>			<span>__( 'Outdated Notice', 'outdated-notice' ),
</span>			<span>'manage_options',
</span>			<span>$this->plugin_name,
</span>			<span>array( $this, 'display_options_page' )
</span>		<span>);
</span>	
	<span>}</span>
그렇게해야합니다. 우리가 지금해야 할 마지막 일은 보일러 플레이트에서 제공된 로더 클래스를 사용하여 올바르게로드하는 것입니다. 포함 폴더에서 클래스 아웃 드래드-이시피스.php를 열고 define_admin_hooks 메소드 내에서 앞서 정의한 추가 후크를 추가하십시오. 옵션 페이지에 포함 할 적절한 액션 후크는 admin_menu이므로 추가하겠습니다.

이제 설정에 따라 추가 "구식 통지"하위 메뉴가 표시되어야합니다. URL http : // /wp-admin/options-general.php?page=outdated-notice로 이동하여 빈 옵션 페이지에 액세스 할 수 있습니다. 지금은 빈 페이지이므로 적절한 마크 업으로 부분 파일을 채우십시오.

. 등록, 저장 및 검색 값 <span>/** </span><span> * Render the options page for plugin </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> */ </span> <span>public function display_options_page() { </span> <span>include_once 'partials/outdated-notice-admin-display.php'; </span> <span>}</span> WordPress Codex의 설정 API 페이지는 옵션 페이지에 표시하는 것을 포함하여 자체 설정을 등록하는 방법에 대한 좋은 설명을 제공합니다. 이 섹션에서 우리가 할 일에 대한 고장은 다음과 같습니다.

보일러 플레이트 로더로 후크를 등록하십시오 설정 섹션을 등록하십시오 2 개의 설정 필드 (임계 값 일과 텍스트 위치) 를 등록하십시오 두 설정을 등록 옵션 페이지를 채 웁니다 디스플레이를 위해 필드를 저장하고 다시 채 웁니다

후크를 보일러 플레이트 로더에 등록하십시오 모든 단계를 하나씩 살펴 보겠습니다 설정 섹션을 등록하려면 register_setting 함수를 사용해야합니다. 해당 함수를 초기화하기위한 적절한 후크는 admin_init입니다. 따라서 먼저 보일러 플레이트 로더에 또 다른 후크를 추가하여 기본 보일러 플레이트 클래스 인 Outdated_Notice 클래스의 정의 _Admin_hooks 메소드 내에 설정을 등록 할 것입니다.

옵션 이름에 물건을 더 단순하게 만들고 기본적인 종류의 네임 스페이스를 제공하기 위해이 클래스 위에 다른 개인 변수를 추가 할 것입니다. 이 스 니펫을 Outdated_notice_admin 클래스 위에 올려 놓으십시오

이제부터, 우리는이 값이 우리의 옵션과 관련된 모든 것에 배정 할 것입니다. 다음은 실제로 설정 섹션, 설정 필드 및 개별 설정을 등록하는 것입니다. outdated_notice_admin 클래스를 다시 열고 공개 메소드 레지스터를 추가하십시오. 설정 섹션을 등록하십시오 공개 register_setting 메소드 내부에서 설정 섹션을 등록 할 예정입니다. Codex가 이미 시작하기에 충분한 정보를 제공했기 때문에 다양한 기능과 API를 너무 많이 탐구하지 않을 것입니다. 플러그인 설정은 비교적 간단하기 때문에 하나의 섹션 만 등록 할 것입니다.

이 스 니펫은 add_settings_section 함수를 사용하여 옵션 페이지에 "일반"섹션을 등록 할 수 있습니다.
<span>/**
</span><span>	 * Add an options page under the Settings submenu
</span><span>	 *
</span><span>	 * <span>@since  1.0.0
</span></span><span>	 */
</span>	<span>public function add_options_page() {
</span>	
		<span>$this->plugin_screen_hook_suffix = add_options_page(
</span>			<span>__( 'Outdated Notice Settings', 'outdated-notice' ),
</span>			<span>__( 'Outdated Notice', 'outdated-notice' ),
</span>			<span>'manage_options',
</span>			<span>$this->plugin_name,
</span>			<span>array( $this, 'display_options_page' )
</span>		<span>);
</span>	
	<span>}</span>
다른 플러그인과의 충돌을 방지하기 위해 변수 $ 옵션 _name으로 섹션 이름을 미리 보급하고 있습니다. 콜백은 우리 섹션에 대한 추가 정보를 제공하는 데 사용될 수 있습니다. 이것이 바로 우리가 원하는 것입니다. 우리는이 섹션에 대한 기본 정보를 반영 할 다른 공개 방법 인 Outdated_notice_general_cb를 추가 할 것입니다.

2 개의 설정 필드 (임계 값 일과 텍스트 위치) 를 등록하십시오 설정 API의 다음 부분은 옵션 페이지에 렌더링 할 실제 필드를 등록하는 것입니다. 이것은 add_settings_field 함수를 사용하여 달성 할 수 있습니다 우리는 텍스트 위치 구성에 라디오 버튼을 사용합니다. 이 코드를 우리가 가지고있는 register_setting 함수에 추가하여 수행됩니다.

우리는 add_settings_field의 다섯 번째 인수가 이전에 등록한 올바른 설정 섹션을 가리 키거나 옵션 페이지에서 필드를 볼 수 없는지 확인해야합니다. 이것은 아직 이루어지지 않았습니다. 라디오 버튼의 실제 마크 업을 렌더링하는 콜백 함수를 제공해야합니다. Outdated_notice_position_cb 함수 에서이 코드 블록을 포함시켜야합니다.

주간 임계 값의 두 번째 옵션은 일반 텍스트 입력을 사용하여 구성 할 수 있습니다. 그래서 우리는 다른 설정 필드를 등록 할 것입니다
<span>/**
</span><span>	 * Render the options page for plugin
</span><span>	 *
</span><span>	 * <span>@since  1.0.0
</span></span><span>	 */
</span>	<span>public function display_options_page() {
</span>		<span>include_once 'partials/outdated-notice-admin-display.php';
</span>	<span>}</span>
다시, 우리는 또한 텍스트 필드를 렌더링하는 콜백 함수를 제공해야합니다.

설정을 등록 마지막으로, 우리는 WordPress에서 인식 할 수 있도록 사용할 옵션 이름을 등록해야합니다. 우리는 두 가지 다른 옵션 이름 인 outdated_notice_position 및 outdated_notice_day를 사용하고 있기 때문에 register_setting 함수를 사용하여 등록 할 것입니다.

register_setting 함수의 세 번째 매개 변수는 소독 콜백입니다. 선택 사항이지만 데이터베이스에 저장되기 전에 입력 값을 소독하는 것이 항상 유용합니다.

Day Sanitization의 경우, 우리는 우리의 경우에 충분한 내장 PHP 함수 인 Intval을 사용합니다. 텍스트 통지 위치와 관련하여, 우리는 자체 소독 콜백 함수를 정의 할 것입니다.이 값은 특정 값 만 데이터베이스에 저장할 수 있습니다. 이것은 우리가 전후에있는 두 값 만 수락하는 것과 같은 특정 값으로 제한되는 옵션을 처리 할 때 특히 유용하므로, 소독 콜백은 값이 중 하나가 아닌 경우 확인해야합니다. 이것들은 데이터베이스에 저장되지 않습니다 다음은 간단한 소독 콜백 기능이 있습니다
<span>/**
</span><span>	 * Add an options page under the Settings submenu
</span><span>	 *
</span><span>	 * <span>@since  1.0.0
</span></span><span>	 */
</span>	<span>public function add_options_page() {
</span>	
		<span>$this->plugin_screen_hook_suffix = add_options_page(
</span>			<span>__( 'Outdated Notice Settings', 'outdated-notice' ),
</span>			<span>__( 'Outdated Notice', 'outdated-notice' ),
</span>			<span>'manage_options',
</span>			<span>$this->plugin_name,
</span>			<span>array( $this, 'display_options_page' )
</span>		<span>);
</span>	
	<span>}</span>
옵션 페이지를 채 웁니다 모든 관련 설정을 등록한 후 이제 옵션 페이지가 올바르게 렌더링해야합니다. WordPress 방법을 사용하여 필드 및 설정을 등록 하므로이 작업은 특히 간단합니다. admin/partials 폴더 내부의 구식이 아닌-비티 체-아인 display.php를 엽니 다. 이전에 등록한 설정을 기반으로 옵션 페이지를 렌더링하는 방법은 다음과 같습니다.

do_settings_sections 및 settings_fields 함수의 간단한 조합으로 옵션 페이지가 곧 완료됩니다. 휴식을 취하고 옵션 페이지를 새로 고쳐 봅시다

필드를 저장하고 다시 채 웁니다 일부 값을 채우고 양식을 저장하십시오. “설정이 저장되었습니다”라는 통지를 받아야합니다. 그러나 아무것도 발생하지 않았습니다. 우리의 옵션 모두에 var_dump를 시도해 보자. 관련 기능 어딘가에 이것을 배치하십시오.

아래 예제에 따라 데이터베이스에서 일부 값을 되돌려 야합니다.

이것은 우리의 양식이 잘 작동한다는 것을 의미하므로 수행 해야하는 유일한 일은 텍스트 필드에 현재 값을 표시하고 올바른 라디오 버튼을 확인하는지 확인하는 것입니다.

. 먼저 라디오 버튼을 다루겠습니다. 바로 가기로서, 우리는 이전에 선택한 값을 표시하기 위해 WordPress가 제공 한 확인 된 기능을 사용합니다. Outdated_notice_position_cb는 약간의 수정이 필요합니다 콜백을위한 업데이트 된 스 니펫이 있습니다.
<span>/**
</span><span>	 * Render the options page for plugin
</span><span>	 *
</span><span>	 * <span>@since  1.0.0
</span></span><span>	 */
</span>	<span>public function display_options_page() {
</span>		<span>include_once 'partials/outdated-notice-admin-display.php';
</span>	<span>}</span>
이제, 우리가 필드의 값을 변경할 때마다 옵션 페이지에 올바르게 반영됩니다.

. 추가 개선

이것은 결코 완전하지 않습니다. 이 플러그인의 관리자가 직면 한 기능을 항상 향상시킬 수 있습니다. 내가 생각할 수있는 것들 중 일부는 다음과 같습니다.

코드 정리 - WordPress 플러그인 보일러 플레이트에는 많은 유용한 기능이 제공되지만 당사의 경우 관리자 측, CSS 및 JS로드는 완전히 불필요합니다. 우리는 항상 코드베이스에서 그것을 제거하여 더 작게 만들 수 있습니다. WordPress 플러그인 보일러 플레이트 2 부 : 플러그인 개발 i18n (국제화) 준비 - 플러그인에서 __ () 및 _e ()를 광범위하게 사용하고 있지만 실제 i18n 프로세스를 실제로 사용하지는 않습니다. 예를 들어이 기사 에서이 주제에 대해 itepoint에서 상당히 광범위하게 논의되었으므로 여기서 프로세스를 다루지 않을 것입니다. 더 좋은 선택 - 구현이 모든 게시물에 적용될 예정이므로 특정 범주 내의 게시물 또는 특정 태그가있는 게시물에 적용하도록 추가 최적화를 최적화 할 수 있습니다.

완전한 코드는 Part-2 지점 의이 Github 저장소에서 볼 수 있습니다.

결론 우리는 관련 설정을 등록하고 사용자가 플러그인을 사용자 정의 할 수있는 옵션 페이지를 만들어 기본 관리자가 기능을 갖춘 플러그인을 만들었습니다. WordPress 플러그인 보일러 플레이트를 사용하여 비교적 짧은 시간에 코드 품질을 손상시키지 않고도 WordPress가 권장하는 모범 사례를 준수하지 않고이를 달성했습니다. 시리즈의 다음 부분을 계속 지켜봐 주시면 플러그인의 대중을 향한 측면을 수행하여 게시물 내용 내부에 적절한 통지를 표시합니다.

보일러 플레이트가있는 WordPress 플러그인 개발에 대해 자주 묻는 질문

WordPress 플러그인 보일러 플레이트는 무엇이며 사용해야하는 이유는 무엇입니까?

WordPress 플러그인 보일러 플레이트는 고품질 WordPress 플러그인을 구축하기위한 표준화되고 구성되며 객체 지향적 인 프레임 워크입니다. 이해하기 쉬운 명확하고 일관된 구조를 제공합니다. 이 보일러 플레이트를 사용하면 플러그인의 기본 구조를 설정하는 데 많은 시간과 노력을 절약 할 수 있습니다. 또한 플러그인이 WordPress 코딩 표준 및 모범 사례를 따라 버그 및 호환성 문제를 방지하는 데 도움이되는 WordPress Coding 표준 및 모범 사례를 따릅니다.

WordPress 플러그인 보일러 플레이트로 시작하려면 어떻게해야합니까?

시작하려면 시작하십시오. WordPress 플러그인 보일러 플레이트를 사용하면 먼저 Github 저장소에서 다운로드해야합니다. 다운로드 후 플러그인 이름과 일치하도록 보일러 플레이트의 디렉토리와 파일의 이름을 바꿀 수 있습니다. 그런 다음 보일러 플레이트의 기존 구조에 고유 한 사용자 정의 기능을 추가하여 플러그인을 개발할 수 있습니다.

WordPress 플러그인 보일러 플레이트의 주요 구성 요소는 무엇입니까?

WordPress 플러그인 보일러 플레이트는 여러 것으로 구성되어 있습니다. 주요 구성 요소. 여기에는 플러그인 헤더 및 로더 클래스가 포함 된 플러그인 파일이 포함됩니다. 코어 플러그인 클래스 및 기타 기능 관련 파일이 포함 된 디렉토리 포함; 플러그인의 관리자 별 기능과 관련된 파일이 포함 된 관리 디렉토리; 플러그인의 공개 기능과 관련된 파일이 포함 된 공개 디렉토리.

WordPress 플러그인 보일러 플레이트에 내 자신의 기능을 추가하려면 자신만의 기능을 추가하려면 어떻게해야합니까? WordPress 플러그인 보일러 플레이트는 포함 디렉토리에서 새로운 클래스를 만들 수 있습니다. 이 클래스는 보일러 플레이트에서 제공하는 기본 클래스를 확장해야합니다. 그런 다음이 클래스에 자신의 방법을 추가하여 원하는 기능을 구현할 수 있습니다. 필요에 따라 기존 클래스 및 메소드를 수정할 수도 있습니다.

WordPress 플러그인 보일러 플레이트에서 플러그인 설정을 처리하는 방법?

WordPress 플러그인 보일러 플레이트는 플러그인 설정을 처리 할 수있는 클래스를 제공합니다. 이 클래스에는 설정 등록, 설정 필드 표시 및 소독 설정 값이 포함됩니다. 이 클래스를 자신의 설정 기능을 구현하기위한 시작점으로 사용할 수 있습니다.

내 플러그인에 관리자 별 기능을 추가하려면 어떻게합니까?

플러그인에 관리자 별 기능을 추가하려면 WordPress 플러그인 보일러 플레이트의 관리 디렉토리에 제공된 클래스 및 메소드를 사용할 수 있습니다. 이 디렉토리에는 관리자 페이지 작성, 설정 필드 추가 및 양식 제출 처리를위한 클래스가 포함되어 있습니다.

플러그인에 공개 기능을 추가하려면 어떻게해야합니까?

플러그인, WordPress 플러그인 보일러 플레이트의 공개 디렉토리에 제공된 클래스 및 메소드를 사용할 수 있습니다. 이 디렉토리에는 스크립트와 스타일을 흡수하고 공개 콘텐츠를 표시하기위한 클래스가 포함되어 있습니다.

WordPress 플러그인 보일러 플레이트로 플러그인을 국제화하려면 WordPress 플러그인 보일러 플레이트에 클래스가 포함되어 있습니다. 국제화. 이 클래스에는 플러그인의 텍스트 도메인을로드하는 방법이 포함되어 있으며 플러그인을 다른 언어로 변환 할 수 있습니다.

내 플러그인에서 AJAX 요청을 처리하는 방법

WordPress 플러그인 보일러 플레이트에는 클래스가 포함되어 있습니다. Ajax 요청을 처리합니다. 이 클래스에는 Ajax 작업 등록, Ajax 요청 처리 및 Ajax 응답 보내기 방법이 포함됩니다.

WordPress 플러그인 보일러 플레이트를 사용할 때 플러그인을 디버그하는 방법은 무엇입니까?

WordPress를 사용할 때 플러그인 디버깅 플러그인 보일러 플레이트는 여러 가지 방법으로 수행 할 수 있습니다. 일반적인 방법 중 하나는 wp-config.php 파일에서 WP_DEBUG 상수를 사용하는 것입니다. PHP 오류, 통지 및 경고가 표시됩니다. WordPress에서 사용할 수있는 다양한 디버깅 플러그인을 사용하거나 PHP의 내장 오류 로깅 기능을 사용할 수도 있습니다.

위 내용은 WordPress 플러그인 보일러 플레이트 2 부 : 플러그인 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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