2026년 단계별 워드프레스 AI 플러그인 만들기
워드프레스 AI 플러그인 만드는 방법 (2026 단계별 가이드)
이 가이드는 AI 콘텐츠 생성을 위한 완전한 워드프레스 플러그인을 구축합니다. 설정 페이지, OpenAI API 래퍼, 보안 AJAX 핸들러, 그리고 Gutenberg 사이드바 패널을 포함합니다.
wp-ai-assistant/
├── wp-ai-assistant.php # Headers + init
├── includes/class-api.php # OpenAI wrapper
├── includes/class-ajax.php# AJAX handlers
└── assets/editor.js # Gutenberg sidebar
class WP_AI_Assistant_API {
public function generate(string $prompt): string {
$client = OpenAI::client(get_option('wp_ai_assistant_api_key'));
$response = $client->chat()->create([
'model' => 'gpt-4o-mini',
'messages' => [['role' => 'user', 'content' => $prompt]],
]);
return $response->choices[0]->message->content;
}
}
add_action('wp_ajax_wp_ai_generate', function () {
check_ajax_referer('wp_ai_assistant_nonce', 'nonce');
if (!current_user_can('edit_posts')) wp_send_json_error('Forbidden', 403);
$prompt = sanitize_textarea_field($_POST['prompt'] ?? '');
try {
$result = (new WP_AI_Assistant_API())->generate($prompt);
wp_send_json_success(['content' => $result]);
} catch (Exception $e) {
wp_send_json_error($e->getMessage());
}
});
const { registerPlugin } = wp.plugins;
registerPlugin('wp-ai-assistant', { render: AIAssistantPanel });
// Panel calls admin-ajax.php → inserts generated content as a paragraph block
- 모든 AJAX 액션에
check_ajax_referer()사용 - 처리 전에
current_user_can()로 권한 확인 - 모든 입력에
sanitize_*적용, 모든 출력에esc_*적용 - API 키는
wp_options에 저장하고 코드에는 절대 포함하지 않음
원본은 kalyna.pro에서 처음 공개되었습니다.