데브포일 홈
WordPress 자동화
Guest
STAGE 13 · Lv.60

플러그인 구조와 기본 뼈대

WordPress 플러그인 개발의 첫걸음으로 플러그인 헤더 작성법, 파일 구조 설계, activation/deactivation 훅, uninstall 처리, 네임스페이싱, OOP 패턴까지 학습합니다.

왜 플러그인을 직접 만들어야 할까?

테마 수정의 한계

WordPress를 운영하다 보면 functions.php에 코드를 추가하는 일이 잦아집니다. 하지만 이 방식에는 치명적인 한계가 있습니다. 테마를 변경하면 모든 커스텀 코드가 사라지고, 차일드 테마를 사용하더라도 부모 테마의 대규모 업데이트에 영향을 받을 수 있습니다.


플러그인은 테마와 완전히 독립적으로 동작합니다. 테마를 변경해도 플러그인의 기능은 그대로 유지됩니다. 또한 플러그인은 다른 사이트에 쉽게 재사용할 수 있고, WordPress.org에 배포하여 전 세계 사용자와 공유할 수도 있습니다.


이 강의에서는 프로페셔널한 플러그인 개발을 위한 기본 뼈대를 처음부터 끝까지 설계하는 방법을 배웁니다. 단순히 동작하는 코드가 아니라, 유지보수가 쉽고 확장 가능한 구조를 만드는 것이 목표입니다.

🔌
60,000+
WordPress.org 등록 플러그인 수
📦
PHP 7.4+
권장 최소 PHP 버전
⚙️
GPL v2+
필수 라이선스
🏗️
MVC/OOP
권장 아키텍처 패턴

플러그인 헤더(Plugin Header) 완전 정복

플러그인 헤더란?

플러그인의 메인 PHP 파일 최상단에 위치하는 주석 블록을 플러그인 헤더라고 합니다. WordPress는 이 헤더를 읽어 플러그인을 인식하고, 관리자 대시보드의 플러그인 목록에 정보를 표시합니다. 헤더가 없으면 WordPress가 해당 파일을 플러그인으로 인식하지 못합니다.


헤더에는 필수 항목과 선택 항목이 있으며, 각 항목은 특정 용도로 사용됩니다. 플러그인 이름(Plugin Name)만 있으면 기본적으로 동작하지만, 프로페셔널한 플러그인이라면 모든 항목을 채우는 것이 좋습니다.

/** * Plugin Name: My Awesome Plugin * Plugin URI: https://example.com/my-awesome-plugin * Description: 사이트에 멋진 기능을 추가하는 플러그인입니다. * Version: 1.0.0 * Requires at least: 6.0 * Requires PHP: 7.4 * Author: 홍길동 * Author URI: https://example.com * License: GPL v2 or later * License URI: https://www.gnu.org/licenses/gpl-2.0.html * Text Domain: my-awesome-plugin * Domain Path: /languages * Update URI: https://example.com/updates * Network: true */
헤더 항목 상세 설명
Plugin Name (필수): 플러그인 목록에 표시되는 이름입니다. 고유하고 기억하기 쉬운 이름을 사용하세요.

Version: 시맨틱 버저닝(SemVer)을 따르는 것이 좋습니다. 예: 1.0.0 (Major.Minor.Patch)

Text Domain: 다국어 번역을 위한 고유 식별자입니다. 보통 플러그인 슬러그와 동일하게 설정합니다.

Requires at least: 호환되는 최소 WordPress 버전. 너무 높게 설정하면 사용자층이 줄어듭니다.

Network: true로 설정하면 멀티사이트에서 네트워크 전체 활성화가 가능합니다.
🔒
여기까지는 미리보기입니다
플러그인 구조와 기본 뼈대
무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.
Google로 3초 만에 시작 →🧵 Threads로 시작무료 공개 강의 둘러보기 (Lv.1~3)