왜 WordPress 플러그인을 개발하려고 하나요?
WordPress는 전 세계에서 가장 인기 있는 콘텐츠 관리 시스템(CMS)으로, 그 강력한 확장성은 주로 플러그인 덕분입니다. 플러그인을 개발함으로써 웹사이트에 필요한 모든 사용자 정의 기능을 추가할 수 있으며, 이를 위해 핵심 파일을 수정할 필요가 없습니다. 이러한 방식은 WordPress가 업그레이드될 때도 호환성을 보장합니다. 특정 프로젝트의 요구사항을 충족시키거나, 흔한 문제를 해결하거나, 자신의 솔루션을 커뮤니티와 공유하며 수익을 창출하고자 하는 경우에도 플러그인 개발은 매우 가치 있는 기술입니다.
플러그인 개발을 배우면 WordPress의 작동 원리(예: 훅(Hooks) 시스템, 쇼트코드(Shortcode) 등)를 더 깊이 이해할 수 있을 뿐만 아니라 PHP 프로그래밍 능력도 향상시킬 수 있습니다. 간단한 기능 추가부터 복잡한 애플리케이션 통합에 이르기까지, 무엇이든 가능합니다.
자신만의 플러그인 개발 환경을 설정해 보세요.
코드를 작성하기 시작하기 전에 적절한 로컬 개발 환경을 준비하는 것이 매우 중요합니다. 이를 통해 온라인 웹사이트에 영향을 주지 않으면서 안전하게 테스트와 디버깅을 수행할 수 있습니다.
추천 읽기 WordPress 플러그인 개발 궁극 가이드: 제로에서 프로페셔널 플러그인까지 구축하기。
로컬 서버 환경을 구성합니다.
통합된 로컬 개발 도구를 사용하는 것을 권장합니다. 예를 들어, Local by Flywheel, DevKinsta, XAMPP와 같은 도구들이 있습니다. 이러한 도구들은 한 번의 클릭으로 설치할 수 있으며, Apache/Nginx, PHP, MySQL이 모두 포함되어 있습니다. 사용하는 PHP 버전이 대상 서버와 호환되는지 확인하십시오. 일반적으로 더 나은 성능과 보안을 위해 PHP 7.4 이상을 사용하는 것이 권장됩니다.
워드프레스를 설치하고 설정하세요.
로컬 서버에 새로운 WordPress 인스턴스를 설치하세요. 테마 호환성 문제를 방지하기 위해 기본 테마(예: Twenty Twenty 시리즈)를 사용하여 개발 및 테스트를 진행하는 것이 좋습니다.wp-config.php파일에서, 켜기.WP_DEBUG상수(constant)를 사용하면 개발 과정에서 오류를 빠르게 발견하는 데 도움이 됩니다.
define( 'WP_DEBUG', true ); 코드 편집기를 준비하세요.
강력한 코드 편집기를 선택하세요. 예를 들어 Visual Studio Code, PhpStorm, Sublime Text 등이 있습니다. PHP 인텔리전스, WordPress 코드 스니펫과 같은 관련 확장 기능을 설치하면 코딩 효율성이 크게 향상됩니다.
첫 번째 플러그인 파일을 만드세요.
WordPress 플러그인이란 본질적으로 하나 이상의 파일로 구성된 도구로, 웹사이트의 기능을 확장하거나 개선하는 데 사용됩니다. 이 파일들은 일반적으로 `wp-content/plugins` 디렉터리에 저장됩니다./wp-content/plugins/디렉터리 내에 있는 PHP 파일들입니다. 이제 가장 기본적인 구조부터 시작해 보겠습니다.
플러그인의 헤더에 주석을 작성하세요.
모든 플러그인은 표준 형식의 헤더 주석을 포함해야 합니다. WordPress는 이 주석을 통해 플러그인에 대한 정보를 인식합니다. 여러분의 플러그인 디렉터리(예:/wp-content/plugins/my-first-plugin/) 중에서, ‘’이라는 이름의 파일을 생성하세요.my-first-plugin.php주 파일입니다.
추천 읽기 입문부터 전문가 수준까지: WordPress 플러그인 개발 완벽 가이드。
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习的简单WordPress插件。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
* Domain Path: /languages
*/ 이 주석은 WordPress 백엔드 관리 인터페이스에서 플러그인이 표시되는 이름, 설명 등의 정보를 정의합니다.Text Domain국제화 번역을 위해 사용됩니다.
플러그인을 구축할 때 고려해야 할 기본 보안 프레임워크
플러그인 파일에 직접 접근하는 것을 방지하기 위해 파일의 맨 위에 보안 코드를 추가할 수 있습니다. 이는 WordPress 플러그인 개발의 모범 사례입니다.
// 防止直接访问
if ( ! defined( 'ABSPATH' ) ) {
exit; // 如果未定义ABSPATH(WordPress根目录的绝对路径),则退出
} ABSPATH이는 WordPress가 정의한 상수로, 자신의 플러그인이 설치된 절대 경로를 나타냅니다. 이 상수가 존재하는지 확인함으로써, 외부 사용자가 URL을 통해 직접 플러그인 파일에 접근하는 것을 효과적으로 방지할 수 있습니다.
핵심 기능 구현: 관리 메뉴 및 설정 기능 추가
완전한 플러그인은 일반적으로 WordPress 관리자 페이지에서 설정 인터페이스를 제공해야 합니다. 우리는 WordPress가 제공하는 API를 사용하여 간단한 관리 메뉴 페이지를 추가할 것입니다.
함수를 사용하여 최상위 관리 메뉴를 추가합니다.
우리는 사용할 것입니다.add_action()Function mountedadmin_menu후크에 연결하여 백엔드에 메뉴 항목을 추가하세요. 주 플러그인 파일에 다음 코드를 계속 추가하세요.
// 添加管理菜单
function mfp_add_admin_menu() {
add_menu_page(
'我的第一个插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 所需权限(管理员)
'my-first-plugin', // 菜单slug
'mfp_settings_page', // 显示页面内容的回调函数
'dashicons-admin-generic', // 图标(使用Dashicons)
80 // 菜单位置
);
}
add_action( 'admin_menu', 'mfp_add_admin_menu' ); 여기,add_menu_page()이 함수는 최상위 메뉴를 생성하는 데 사용됩니다. 매개변수에는 페이지 제목, 메뉴 제목, 접근 권한, 고유 식별자(slug), 페이지 콘텐츠를 출력하는 데 사용되는 콜백 함수, 아이콘, 그리고 메뉴가 사이드바에 위치할 위치가 정의되어 있습니다.
추천 읽기 WordPress 플러그인 개발 완전 가이드: 초보자부터 실전 배포까지。
설정 페이지를 생성하는 콜백 함수를 만드세요.
이제, 위에서 언급된 내용들을 정의해야 합니다.mfp_settings_page()이 함수는 관리 페이지의 HTML 콘텐츠를 출력합니다.
// 设置页面回调函数
function mfp_settings_page() {
// 检查用户权限
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
?>
<div class="wrap">
<h1></h1>
<p>제 첫 번째 플러그인의 설정 페이지에 오신 것을 환영합니다! 여기서 향후 양식(form)과 옵션(option)을 추가할 수 있습니다.</p>
<form action="/ko/options.php/" method="post" data-trp-original-action="options.php">
<?php
// 输出设置字段、非ce等(后续扩展)
settings_fields( 'mfp_options_group' );
do_settings_sections( 'my-first-plugin' );
submit_button( '保存设置' );
?>
<input type="hidden" name="trp-form-language" value="ko"/></form>
</div>
<?php
} 이 함수는 먼저 현재 사용자가 해당 권한을 가지고 있는지 확인합니다.manage_options권한(일반적으로 관리자 권한)이 필요하며, 그 후 간단한 설정 페이지의 프레임워크가 출력됩니다.settings_fields()그리고do_settings_sections()이는 향후 WordPress를 사용할 때 API 등록 옵션을 설정하기 위해 예약된 공간입니다.
플러그인에 간단한 프론트엔드 기능을 추가하세요.
백엔드 관리 인터페이스 외에도, 플러그인은 주로 웹사이트의 프론트엔드에 기능을 제공하는 데 사용됩니다. 우리는 사용자가 글이나 페이지에서 해당 기능을 호출할 수 있도록 간단한 쇼트코드(Shortcode)를 만들 것입니다.
함수를 사용하여 단축 코드를 등록합니다.
단축 코드를 사용하면 사용자가 간편하게…[shortcode]이러한 간단한 태그들을 사용하여 콘텐츠에 동적 기능을 삽입할 수 있습니다.add_shortcode()함수를 등록합니다.
// 注册一个短代码
function mfp_hello_world_shortcode( $atts ) {
// 短码属性,设置默认值
$atts = shortcode_atts(
array(
'name' => '访客',
),
$atts,
'mfp_hello'
);
// 安全地输出内容
return '<p>안녕하세요, '. esc_html($atts['name'])'. ‘! 이것은 제 플러그인이 생성한 인사말입니다.</p>'php
add_shortcode('mfp_hello', 'mfp_hello_world_shortcode'); add_shortcode()이 함수는 두 개의 매개변수를 받습니다: 짧은 코드 태그 이름(사용자가 사용할 때의 이름)과 해당 태그를 처리하는 함수입니다.shortcode_atts()이 함수는 사용자가 입력한 속성값과 기본값을 결합하여 코드의 안정성을 보장합니다.
프론트엔드 테스트에서 짧은 코드를 사용하기
플러그인 파일을 저장한 후, WordPress 관리자의 “플러그인” 페이지로 이동하여 “My First Plugin”을 활성화하세요. 그런 다음, 새로운 글을 작성하거나 기존 글을 편집하면서 콘텐츠 편집기에 직접 해당 플러그인의 기능을 사용할 수 있습니다.[mfp_hello name="小明"]기사를 게시한 후, 프론트엔드 페이지에는 “안녕, 소명! 이것은 내 플러그인이 생성한 인사말입니다.”라는 메시지가 표시됩니다. 만약 `name` 속성을 제공하지 않는다면…[mfp_hello]그러면 기본적으로 표시되는 “안녕하세요, 방문자님!”이 나타납니다.
요약
이 가이드를 통해 당신은 처음부터 기본적인 WordPress 플러그인을 만드는 전체 과정을 완료했습니다. 플러그인의 기본 구조, 헤더 주석의 중요성, 백엔드 관리 메뉴의 추가 방법, 그리고 간단하지만 유용한 프론트엔드 쇼트코드를 만드는 방법에 대해 배웠습니다. 이러한 내용들이 바로 WordPress 플러그인 개발의 기초가 됩니다.
진정한 플러그인 개발 여정은 이제 막 시작되었습니다. 다음으로, WordPress의 강력한 설정 API를 활용하여 저장 가능한 옵션을 만들고, 액션 후크(Action Hooks)를 사용해 기능을 확장해 보세요.add_action()필터 후크 (Filter Hook)add_filter()핵심 기능을 수정하는 방법을 배우고, 플러그인에 국제화 기능을 추가하는 방법, 그리고 사용자 데이터를 안전하게 처리하는 방법을 익혀보세요. WordPress의 코딩 표준을 준수하고 보안에 신경 쓰는 것이 고품질 플러그인을 개발하는 데 매우 중요하다는 점을 기억하세요.
자주 묻는 질문
WordPress 플러그인을 개발하려면 어떤 사전 지식이 필요한가요?
기본적인 PHP 프로그래밍 지식이 필요하며, HTML과 CSS에 대한 이해가 있어야 합니다. 또한 WordPress의 기본적인 작업 방법(예: 글 게시, 테마 및 플러그인 설치)에 익숙해야 합니다. 객체 지향 프로그래밍(OOP)에 대한 지식은 필수적이지 않지만, 복잡한 플러그인을 개발할 때 매우 유용합니다.
플러그인의 주 파일 이름은 반드시 폴더 이름과 같아야 합니까?
꼭 그럴 필요는 없지만, 이는 구조를 더 명확하게 만들어주는 강력히 추천되는 모범 사례입니다. 메인 플러그인의 PHP 파일은 어떤 이름이든 가능하지만, 파일의 시작 부분에 있는 주석은 반드시 올바르게 작성되어야 하며, 해당 파일은 플러그인 자체가 있는 폴더 내에 위치해야 합니다. 폴더의 이름은 보통 해당 플러그인의 슬러그 slug와 같습니다.
내 플러그인 코드를 어떻게 디버깅하나요?
제외하고 (Except for enabling)WP_DEBUG또한, 당신은 이것을 사용할 수 있습니다.error_log()이 함수는 디버깅 정보를 서버의 오류 로그에 기록하거나, 다른 방식으로 사용합니다.var_dump()그리고wp_die()출력 검사를 수행하세요 (개발 환경에서만 사용됨). Query Monitor와 같은 디버깅 플러그인을 사용하는 것도 효과적인 방법입니다.
제가 개발한 플러그인을 워드프레스 공식 플러그인 디렉토리에 어떻게 출시할 수 있습니까?
먼저, 플러그인 코드가 WordPress의 배포 요구사항을 충족하는지 확인해야 합니다. 여기에는 GPL 호환 라이선스, 코드 품질, 보안성, 국제화 등이 포함됩니다. 그런 다음 WordPress.org에 SVN 저장소를 신청하고 코드를 제출한 후 검토 절차를 거쳐야 합니다. 공식적으로 자세한 플러그인 제출 가이드가 제공됩니다.
다음 단계는 무엇인가요?
확장된 독서 및 실무 지식
다음은 이 도움말의 주제와 관련이 있으며 더 깊이 있게 읽기에 적합합니다. 현재 문제와 가장 가까운 문서부터 시작하여 점차 주변 주제로 확장하는 것이 우선순위를 정하는 것이 좋습니다.