맞춤형 WordPress 플러그인 구축: 단계별 가이드
게시 됨: 2023-12-01WordPress는 개발자가 기능을 확장하는 플러그인을 만들 수 있는 오픈 소스 특성으로 인해 인기가 높습니다. 현재 사용할 수 있는 플러그인은 55,000개가 넘지만, 자신만의 플러그인을 만드는 방법을 배우고 싶을 수도 있습니다.
좋은 소식은 WordPress를 사용하면 일부 코딩 지식만 있어도 필수 플러그인을 만드는 것이 상대적으로 쉽다는 것입니다. 플러그인을 개발하면 WordPress 사이트에 사용 가능한 것 이상으로 사용자 정의된 기능을 추가할 수 있습니다.
이 기사에서는 WordPress 플러그인이 무엇인지 자세히 살펴보고 첫 번째 플러그인 개발을 위한 단계별 가이드를 제공합니다. WordPress 사이트에 맞춤형 기능을 추가하는 간단한 플러그인을 구축하기 위한 코딩 기본 사항을 다룹니다.
WordPress 플러그인을 구축하는 데 필요한 것
WordPress 플러그인을 만들려면 몇 가지 핵심 요소가 필요합니다.
플러그인 코드 자체를 작성하려면 Notepad++ 또는 Atom과 같은 텍스트 편집기가 필요합니다. 파일을 직접 수정할 수 있도록 편집기를 호스팅 계정의 FTP(파일 전송 프로토콜) 서버에 연결하는 것이 좋습니다. FileZilla 및 WinSCP와 같은 FTP 도구를 사용하면 플러그인 파일을 WordPress 사이트에 업로드하는 작업을 단순화할 수 있습니다.
또한 이상적으로는 최신 버전으로 업데이트된 활성 WordPress 설치가 필요합니다. 자동 업데이트를 비활성화한 경우 WordPress 핵심 파일을 수동으로 업데이트할 수 있지만, 데이터 손실을 방지하려면 먼저 사이트를 백업해야 합니다. 또 다른 옵션은 WordPress를 로컬에 설치하여 라이브 사이트에 영향을 주지 않고 플러그인을 개발하는 것입니다.
플러그인을 구축할 때 몇 가지 기본 PHP 지식도 권장됩니다. 사용자 정의 PHP 함수를 작성하고 기존 WordPress 함수를 활용해야 합니다. 최소한 PHP 규칙과 파일 구조에 대해 잘 알고 있으면 유용합니다.
WordPress 플러그인 유형
WordPress 플러그인은 다양한 기능을 수행할 수 있지만 모두 WordPress 사이트의 기능을 확장하는 역할을 합니다. 몇 가지 일반적인 유형의 플러그인은 다음과 같습니다.
- 유지 관리 플러그인은 보안, 속도 최적화, 백업 및 기타 사이트 관리 작업을 처리합니다.
- SEO, 소셜 미디어 통합, 전자상거래 등을 위한 마케팅 및 영업 플러그인입니다.
- 사용자 정의 게시물 유형, 위젯, 단축 코드, 양식, 갤러리 및 비디오 요소를 생성할 수 있는 콘텐츠 플러그인입니다.
- WordPress REST API를 활용하거나 Google 지도와 같은 외부 서비스를 통합하는 API 플러그인입니다.
- 소셜 네트워킹 기능을 추가하는 커뮤니티 플러그인입니다.
다른 플러그인 카테고리도 많이 있습니다. 가능성을 이해하려면 공식 WordPress 플러그인 디렉토리와 다양한 WordPress 플러그인 마켓플레이스를 찾아보세요.
WordPress 후크란 무엇입니까?
WordPress 플러그인은 후크를 사용하여 핵심 코드와 통합합니다. 후크에는 두 가지 주요 유형이 있습니다.
액션 후크는 특정 지점에서 기능을 실행합니다. 개발자는 추가 작업을 수행하기 위해 사용자 지정 논리를 작업 후크에 연결할 수 있습니다. 예를 들어 wp_head 후크는 head 태그 바로 앞의 코드를 실행합니다.
필터 후크는 함수에서 반환된 데이터를 수정합니다. 플러그인은 사용자 지정 논리를 통해 필터링하여 값을 변경할 수 있습니다. 예를 들어, _content 필터는 게시물 내용을 변경합니다.
Hooks는 상황에 따라 다르므로 관련된 경우에만 실행됩니다. WordPress 코드 참조에는 사용 가능한 후크가 나열되어 있습니다.
후크를 사용하려면 add_action()
또는 add_filter()
를 사용하여 콜백 함수를 추가하세요. 매개변수는 연결할 후크 이름과 함수를 지정합니다.
add_action('wp_head', 'function_name');
선택적 매개변수는 주문 실행 우선순위와 허용되는 인수 수를 제어합니다.
후크 제거는 Remove_action() 및 Remove_filter()를 사용하는 것과 유사합니다. 정의 시 원래 우선순위 값을 참조하세요.
이제 몇 가지 예를 살펴보겠습니다.
wp_footer를 연결하면 모든 페이지의 바닥글 뒤에 텍스트가 표시됩니다.
<?php
/* Plugin Name: Footer Text */
function footerText(){
echo "<p>My footer text</p>";
}
add_action('wp_footer', 'footerText');
get_the_excerpt():
<?php
/* Plugin Name: Excerpt Changes */
function excerptText($text){
return "See the excerpt below: ". $text;
}
add_filter('get_the_excerpt', 'excerptText');
스테이징 사이트에서 플러그인을 테스트하면 라이브 사이트가 손상되는 것을 방지할 수 있습니다. WordPress를 로컬로 설치하거나 스테이징 플러그인을 사용하세요.
WordPress 플러그인 제작을 위해 따라야 할 단계
1단계: 초기 플러그인 파일 구조 설정
플러그인을 만드는 첫 번째 단계는 해당 파일을 저장할 새 폴더를 만드는 것입니다. 폴더에 대해 고유하고 설명이 포함된 이름을 선택합니다. wp-content/plugins/에서 기존 플러그인 폴더를 확인하여 아직 사용되지 않았는지 확인하세요.
FTP 클라이언트를 사용하여 호스팅 계정에 연결하면 업로드가 더 쉬워집니다. 기본 WordPress 디렉토리로 이동한 다음 wp-content -> 플러그인으로 이동합니다. 여기에 my-new-plugin이라는 새 폴더를 만들어 플러그인을 저장하세요.
기능별로 플러그인 폴더 내의 파일을 정리하는 것이 좋습니다. 예를 들어 CSS, PHP 및 JavaScript 파일을 자체 하위 디렉터리에 저장합니다. 이렇게 하면 플러그인이 개발될 때 깔끔하게 유지되므로 필요할 때 특정 파일을 더 쉽게 찾을 수 있습니다.
플러그인에 새로운 PHP, CSS, JS 등의 파일을 추가할 때 해당 폴더에 저장하세요. 처음부터 이 구조를 유지하면 장기적으로 파일 관리가 더 간단해집니다.
2단계: 메인 플러그인 파일 생성
핵심 플러그인 파일에는 WordPress가 플러그인 목록에서 이를 인식하고 활성화할 수 있도록 하는 정보가 포함되어 있습니다.
이미 생성한 플러그인 폴더 안에 my-first-plugin.php라는 새 PHP 파일을 만듭니다. 이것이 메인 파일이 될 것입니다.
표시할 이름, 설명, 작성자와 같은 메타데이터를 읽으려면 WordPress에 대한 헤더 주석이 필요합니다.
텍스트 편집기를 사용하여 my-first-plugin.php에 다음 코드를 추가하세요.
<?php
/*
Plugin Name: My First Plugin
Description: This is my first plugin! It adds a new menu link!
Author: Your Name
*/
여기서는 닫는 ?>
태그가 필요하지 않습니다. PHP 매뉴얼에 이유가 설명되어 있습니다.
파일을 저장한 다음 WordPress 대시보드의 플러그인 페이지로 이동합니다. 제대로 작동했다면 목록에 “My First Plugin”이 표시됩니다.
이제 초기 플러그인 파일이 설정되었습니다. 다음으로 이를 활성화하고 기능 추가를 시작할 수 있습니다.
3단계: 플러그인 기능 추가
충돌을 방지하려면 파일, 함수 및 변수에 "mfp"와 같은 고유한 접두사를 지정하세요.
지원 파일을 저장할 "Includes" 폴더를 만듭니다. 함수를 보유하려면 여기에서 mfp-functions.php를 작성하십시오.
my-first-plugin.php에서 require_once를 사용하여 mfp-functions.php를 포함하면 플러그인이 있는 경우에만 실행됩니다.
require_once plugin_dir_path(__FILE__) . 'includes/mfp-functions.php';
mfp-functions.php에서 admin_menu 후크를 사용하여 메뉴 항목을 추가하는 함수를 만듭니다.
add_action('admin_menu', 'mfp_Add_My_Admin_Link');
function mfp_Add_My_Admin_Link() {
// Code to add menu item
}
함수를 설명하려면 여러 줄 주석을 사용하세요. 나중에 디버깅하는 데 도움이 됩니다.
mfp_Add_My_Admin_Link() uses add_menu_page()
. 매개변수:
- 페이지 제목
- 메뉴 텍스트
- 능력 요구사항
- 로드할 파일
admin_menu가 실행될 때 메뉴가 추가됩니다. 활성화하려면 mfp-functions.php를 업로드하세요.
다음으로, 로드되는 페이지 파일을 생성하겠습니다.
4단계: 플러그인의 관리 페이지 추가
플러그인 기능을 활성화하는 기능을 작성한 후 다음 단계는 메뉴 링크가 연결될 관리 페이지를 구축하는 것입니다. 이미 생성한 포함 폴더 안에 mfp-first-acp-page.php라는 새 PHP 파일을 만듭니다. 그런 다음 다음 코드를 추가합니다.
<div class="wrap">
<h1>Hello!</h1>
<p>This is the first page for my plugin</p>
</div>
사용자 정의 관리 페이지를 만들 때 WordPress에서는 "wrap" 클래스를 사용하여 HTML을 <div>
태그로 래핑할 것을 제안합니다. 이렇게 하면 콘텐츠가 올바른 위치에 표시되고 혼란을 피할 수 있습니다.
페이지 파일이 완성되면 WordPress 대시보드의 플러그인 영역으로 이동하여 새 플러그인을 활성화하세요. 성공하면 이제 첫 번째 플러그인의 관리 메뉴 링크가 메뉴 하단에 표시됩니다.
5단계: 라이브 WordPress 사이트에 플러그인 설치
스테이징 WordPress 사이트에서 플러그인을 개발한 경우 다음 단계에 따라 라이브 프로덕션 사이트에 플러그인을 설치해야 합니다.
- FileZilla에서 my-new-plugin 폴더를 마우스 오른쪽 버튼으로 클릭하고 다운로드를 선택합니다. 파일을 .ZIP 아카이브로 압축합니다.
- WordPress 대시보드의 플러그인 메뉴로 이동한 다음 새로 추가를 클릭합니다.
- 플러그인 업로드를 선택하고 플러그인이 포함된 .ZIP 파일을 선택하세요.
- 지금 설치를 클릭하여 설치 프로세스를 시작합니다.
WordPress 플러그인 개발 모범 사례
웹사이트가 발전함에 따라 새로운 기능과 보안 패치를 위해 플러그인 코드를 업데이트해야 할 수도 있습니다. 자신과 다른 개발자를 위해 이 프로세스를 간소화하려면 처음부터 플러그인 개발 모범 사례를 따르세요.
또한 영감을 얻기 위해 잘 코딩된 플러그인 예제를 연구하세요. 자신만의 WordPress 플러그인을 구축할 때 적용할 소스 코드 구성, 폴더 구조 및 기타 기술을 분석하세요.
고품질 맞춤형 WordPress 플러그인 코딩 및 개발에 대한 주요 권장 사항은 다음과 같습니다.
- 버그가 있는 코드로 인해 라이브 사이트가 손상되는 것을 방지하려면 먼저 스테이징 WordPress 환경에서 구축하고 테스트하세요.
- 파일을 기능과 언어별로 하위 폴더에 논리적으로 정리하여 정리된 상태를 유지하세요.
- 충돌을 방지하기 위해 고유한 접두사를 사용하여 모든 파일, 폴더 및 요소의 이름을 지정합니다.
- 나중에 더 쉽게 디버깅할 수 있도록 수행하는 작업을 문서화하는 주석 기능입니다.
- 많은 사용자가 사용하는 복잡한 플러그인에 대한 문서를 만듭니다.
- 버전 제어를 사용하여 코드 변경 사항을 추적하고 업데이트 충돌을 방지합니다.
- 공동 작업 시 Codex의 WordPress 코딩 표준을 따르세요.
- 버그를 조기에 발견하려면 개발 중에 WP_DEBUG 또는 디버깅 도구를 사용하세요.
마무리
사용자 정의 플러그인을 만드는 것은 기존 플러그인이 제공하지 않는 기능을 WordPress 사이트에 추가하는 방법입니다. 플러그인은 약간만 수정하면 간단할 수도 있고 전체 사이트를 수정하기에는 복잡할 수도 있습니다.
다른 기술과 마찬가지로 WordPress 플러그인 개발에 능숙해지기 위해서는 연습이 필요합니다. 충분한 경험이 있으면 플러그인을 구축하여 WordPress 플러그인 디렉토리에서 사용 가능하게 하거나 마켓플레이스에서 판매할 수도 있습니다.
더 많은 플러그인을 구축할수록 WordPress 사이트를 새로운 방식으로 확장하기 위한 맞춤형 솔루션을 만드는 데 더 능숙해집니다. 시간과 끈기가 있으면 WordPress 플러그인 개발을 마스터할 수 있습니다.