WordPress 플러그인 개발 환경 및 기본 준비 사항
코드를 작성하기 전에 적합한 로컬 개발 환경이 필요합니다. 이에는 일반적으로 XAMPP, MAMP 또는 Local by Flywheel과 같은 로컬 서버, VS Code 또는 PHPStorm과 같은 코드 편집기, 그리고 WordPress 테스트용 설치가 포함됩니다. PHP 버전이 WordPress 공식 권장 버전과 일치하는지 확인하십시오.
워드프레스 플러그인의 핵심은 다음과 같이 위치하고 있습니다./wp-content/plugins/카테고리 아래의 폴더. 이 폴더의 이름은 당신의 플러그인 식별자이며, 소문자, 숫자 및 하이फن을 사용하는 것이 좋습니다. 이 폴더에는 폴더와 동일한 이름을 가진 PHP 마스터 파일이 있어야 합니다. 예를 들면,my-first-plugin.php이 파일은 플러그인의 입구이며, 플러그인의 메타 정보를 포함합니다.
첫 번째 플러그인 파일을 만드세요.
우리는 웹사이트의 관리 인터페이스에 환영 메시지를 표시하는 가장 간단한 플러그인을 만들기 시작하자면서 시작할 것입니다.
추천 읽기 WooCommerce 플러그인을 자세히 분석하세요: 입문자를 위한 설정부터 고급 사용자를 위한 사용자 정화까지의 완전한 가이드입니다.。
플러그인 헤더 주석의 작성
모든 WordPress 플러그인은 특정 헤더 주석으로 시작되어야 하며, WordPress는 이 정보를 읽어서 플러그인을 인식하고 표시합니다. 예를 들어 당신의 플러그인 폴더는my-first-plugin주 파일을 만들기my-first-plugin.php그리고 아래 코드를 입력하세요:
<?php
/**
* Plugin Name: 我的第一个WordPress插件
* 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
*/ 파일을 저장한 후 WordPress 관리자에 로그인하고 “플러그인” 페이지로 이동하면 “내 첫 번째 WordPress 플러그인'이 플러그인 목록에 나타나야 합니다. 현재는 아무 기능도 없지만, 이제 그것을 활성화할 수 있습니다.
플러그인에 첫 번째 기능을 추가하세요.
자, 이 플러그인에 간단한 기능을 추가해 봅시다: 관리 후방의 상단에 사용자 정의 관리 알림을 표시하는 것입니다. 우리는 WordPress의admin_notices후크(Hook).
메인 파일에서my-first-plugin.php헤더 주석 아래에 다음 코드를 추가하세요:
관리 대시보드에 환영 메시지를 추가하기
function my_first_plugin_admin_notice() {
?>
<div class="notice notice-success is-dismissible">
<p>제 첫 워드프레스 플러그인을 사용해 주셔서 환영합니다! 이 플러그인을 성공적으로 활성화하셨습니다.</p>
</div>
<?php
}
add_action( 'admin_notices', 'my_first_plugin_admin_notice' ); 이 코드는 `myFunction`이라는 이름의 함수를 정의합니다.my_first_plugin_admin_notice이 함수는 HTML 코드를 출력하여 닫을 수 있는 성공 알림 창을 만듭니다.add_action()이 함수는 WordPress에 이 사용자 정의 함수를 “설치'합니다.admin_notices이 동작을 트리거하려면 钩子를 사용하세요. 파일을 저장하고 WordPress 관리자를 새로 고침하면, 페이지 상단에 이 초록색 환영 메시지가 표시되어야 합니다.
추천 읽기 웹사이트 구축 실용 가이드: 0부터 출시까지의 전체 개발 프로세스 및 기술 선택 가이드。
WordPress 플러그인의 핵심 메커니즘을 이해하기: 훅(Hooks)과 필터(Filters)
워드프레스 플러그인 개발의 핵심은 워드프레스 核心과 상호 작용하는 것이며, 이는 주로 “후크” 메커니즘을 통해 이루어집니다. 후크는 두 가지 종류로 나뉩니다. 액션(action)과 필터(filter)입니다.
액션 훅의 사용
액션 후크는 우리가 방금 사용한 것처럼 WordPress가 실행되는 특정 시점에 사용자 정의 코드를 추가할 수 있게 해줍니다.admin_notices또 다른 흔한 예는 바로init후크(hook)는 WordPress가 초기화될 때 실행되며, 사용자 정의 글 유형이나 분류 체계를 등록하는 데 자주 사용됩니다.
예를 들어, 플러그인을 초기화할 때 옵션 값을 설정할 수 있습니다:
function my_first_plugin_set_default_option() {
// 如果选项不存在,则添加它
if ( false === get_option( 'my_first_plugin_greeting' ) ) {
add_option( 'my_first_plugin_greeting', 'Hello from my plugin!' );
}
}
add_action( 'init', 'my_first_plugin_set_default_option' ); 필터 후크의 사용 방법
필터 후크는 프로세스에서 전송된 데이터를 수정할 수 있게 해줍니다. 예를 들어,the_content필터는 기사 본문의 출력을 수정할 수 있게 해 줍니다. 이를 통해 각 기사의 끝에 자동으로 저작권 정보를 추가할 수 있습니다.
함수 my_first_plugin_add_copyright( $content ) {
// 주 루프의 단일 게시물에만 적용
if ( is_single() && in_the_loop() && is_main_query() ) {
$copyright = '<p><em>이 글은 저작권이 보호되어 있으며, 재인용할 경우 출처를 표기해 주십시오.</em></p>'만일 원본 문자열이 존재하지 않거나 오류가 발생하면, 다음과 같은 오류 메시지가 출력됩니다.
```php
function my_first_plugin_add_copyright( $content ) {
if ( !isset( $content ) ) {
$content = '';
}
if ( !isset( $content ) ) {
$content = '오류: 내용이 없습니다.';
}
return $content;
}
add_filter( 'the_content', 'my_first_plugin_add_copyright' );
```; 이 예시에서, 함수는my_first_plugin_add_copyright원본을 받습니다.$content조건부 판단(단일 기사 페이지에서만 적용되도록 하기 위해) 후, 그 끝에 一段 HTML이 추가되었습니다. 마지막으로, 수정된 내용을 반드시 적용해야 합니다.$content돌아가세요.
더 복잡한 플러그인을 만들기: 단축 코드와 설정 페이지
기능이 완전한 플러그인은 일반적으로 프론트엔드 상호 작용(예: 짧은 코드)과 백엔드 구성(예: 설정 페이지)을 제공해야 합니다.
추천 읽기 검색 엔진 최적화를 위한 강력한 도구: WordPress 웹사이트의 SEO 전략을 처음부터 구축하는 방법。
사용자 정의 짧은 코드 만들기
단축 코드를 사용하면 사용자가 간단한 태그(예: `` 또는 `{{var}}`)를 통해 콘텐츠를 쉽게 생성하고 수정할 수 있습니다.[my_greeting]기사나 페이지에 플러그인 기능을 추가하려면 짧은 코드를 사용해야 합니다.add_shortcode()함수.
// 간단한 인사말 쇼트코드 등록하기
function my_first_plugin_greeting_shortcode( $atts ) {
// 기본 속성을 정의하고 shortcode_atts를 사용하여 사용자 입력을 병합합니다.
$attributes = shortcode_atts( array(
'이름' => '방문자',
), $atts );
// 앞서 설정한 옵션을 가져옵니다.
$greeting_text = get_option( 'my_first_plugin_greeting', 'Hello' );
// 출력 생성
$output = '<div class="my-plugin-greeting">';.
$출력 . = esc_html( $greeting_text ) . ', ' . esc_html( $attributes['name'] ) . '!' ;
$output . = '</div>';
$output을 반환합니다.
}
add_shortcode( 'my_greeting', 'my_first_plugin_greeting_shortcode' ); 지금, 사용자들은 에디터에서 입력할 수 있습니다.[my_greeting name="张三"]그런 다음 프론트엔드에서 “제 플러그인에서 안녕하세요, 장3!”가 표시됩니다.
추가 플러그인 설정 페이지를 추가하세요.
사용자가 인사말을 사용자 정의할 수 있도록 하려면 관리 패널에 설정 페이지를 추가해야 합니다. 이는 최상위 또는 하위 메뉴 페이지를 추가하고 서식 옵션의 저장을 처리하는 것을 포함합니다.
백그라운드에서 “설정” 메뉴에 하위 메뉴 페이지를 추가하십시오.
function my_first_plugin_add_settings_page() {
add_options_page(
'내 플러그인 설정', // 페이지 타이틀
'내 첫 번째 플러그인', // 메뉴 타이틀
'manage_options', // 필요한 권한
'my-first-plugin', // 메뉴 slug
'my_first_plugin_render_settings_page' // 페이지 내용을 출력하는 콜백 함수
);
}
add_action( 'admin_menu', 'my_first_plugin_add_settings_page' );
// 설정 페이지의 HTML을 렌더링하십시오.
function my_first_plugin_render_settings_page() {
?>
<div class="wrap">
<h1>제 첫 번째 플러그인 설정입니다.</h1>
<form method="post" action="/ko/options.php/" data-trp-original-action="options.php">
<?php
settings_fields( 'my_first_plugin_settings_group' );
do_settings_sections( 'my-first-plugin' );
submit_button();
?>
<input type="hidden" name="trp-form-language" value="ko"/></form>
</div>
저기에 있는 사진은 제 가족입니다. 저는 제 아내와 아들과 함께 살고 있습니다.'<input type="text" name="my_first_plugin_greeting" value="' . esc_attr( $greeting ) . '" class="regular-text" />';
} 이 코드는 표준 워드프레스 설정 페이지를 생성합니다. 사용자가 설정 페이지에서 인사말을 수정하고 저장하면, 이전에 생성된 짧은 코드가 새로운 인사말 텍스트를 사용하게 됩니다.
요약
이 자습서를 통해 기본 기능을 가진 WordPress 플러그인을 처음부터 완성했습니다. 플러그인 파일 구조를 만들고, 플러그인 헤더 정보를 쓰고, action hook을 사용하여 백그라운드 알림을 추가하고, 필터를 사용하여 내용을 수정하고, 사용자가 프론트엔드에서 사용할 수 있도록 짧은 코드를 만들고, 플러그인 옵션을 관리하기 위한 완전한 설정 페이지를 만들었습니다. 이것들은 WordPress 플러그인 개발의 가장 핵심적이고 기본적인 기술입니다. 이러한 기술을 습득한 후에는 WordPress 공식 플러그인 매뉴얼을 참조하여 사용자 정의 데이터베이스 테이블, REST API 엔드포인트, AJAX 처리 등 더 강력하고 전문적인 플러그인을 개발할 수 있습니다.
자주 묻는 질문
###: WordPress 플러그인을 개발하려면 어떤 프로그래밍 언어 지식이 필요한가요?
WordPress 플러그인을 개발하려면 주로 PHP 언어 지식이 필요하며, 이는 워드프레스 核心이 PHP로 작성되어 있기 때문입니다. 또한, 플러그인의 프론트엔드 인터페이스와 인터랙티브 로직을 구축하는 데 사용되는 HTML, CSS 및 기본 JavaScript에 대한 지식도 필요합니다. SQL에 대한 기본 지식은 더 복잡한 데이터 작업을 처리하는 데 도움이 됩니다.
내 WordPress 플러그인을 어떻게 디버깅하나요?
먼저, 귀하의 시스템 또는 환경에서 필요한 설정들이 모두 제대로 되어 있는지 확인하십시오.wp-config.php파일에서 활성화합니다.WP_DEBUG패턴. 이는 PHP 오류와 경고가 화면에 표시되도록 합니다. 두 번째로, 다음과 같이 사용할 수 있습니다.error_log()함수는 서버의 오류 로그에 디버그 정보를 기록합니다. 더 복잡한 디버깅의 경우, Xdebug 같은 전문적인 PHP 디버그 도구를 사용하거나 WordPress 디버그 플러그인을 설치하여 문제를 더 쉽게 해결할 수 있습니다.
제가 개발한 플러그인을 워드프레스 공식 플러그인 디렉토리에 어떻게 출시할 수 있습니까?
당신은 WordPress.org에 접근하여 개발자 계정을 만들어야 합니다. 그런 다음 Subversion(SVN) 도구를 사용하여 당신의 플러그인 코드를 공식적으로 할당된 코드 저장소에 제출해야 합니다. 당신의 플러그인은 GPL 라이센스를 준수해야 하며, 코드 품질, 보안 및 문서는 특정 검토 표준을 준수해야 합니다. 검토가 완료되면 당신의 플러그인은 사용자가 다운로드할 수 있도록 공식 디렉토리에 표시됩니다.
플러그인의 프론트엔드 CSS 및 JavaScript 파일은 어떻게 올바르게 로드되어야 합니까?
충돌을 방지하고 성능을 보장하기 위해 템플릿 파일에서 직접 리소스를 가져오지 않아야 합니다. 올바른 방법은 다음과 같습니다.wp_enqueue_style()그리고wp_enqueue_script()함수. 관리 백엔드의 리소스에 대해서는, 그것들을 마운트해야 합니다.admin_enqueue_scripts후크(hook); 웹사이트 프론트엔드의 리소스는 어디에 마운트되어야 하는가?wp_enqueue_scripts후크. 이를 통해 종속 관계가 올바르게 되어 같은 파일이 여러 번 로드되지 않도록 합니다.
다음 단계는 무엇인가요?
확장된 독서 및 실무 지식
다음은 이 도움말의 주제와 관련이 있으며 더 깊이 있게 읽기에 적합합니다. 현재 문제와 가장 가까운 문서부터 시작하여 점차 주변 주제로 확장하는 것이 우선순위를 정하는 것이 좋습니다.