Giới thiệu mẫu prompt dành cho dev tạo plugin wordpress với cấu trúc mới

Để tạo một plugin WordPress theo cấu trúc hiện đại của phiên bản 7.0+, cấu trúc prompt gửi cho AI (như ChatGPT, Claude, Gemini) cần phải rất cụ thể và áp dụng các tiêu chuẩn mới (như PHP 7.4+, DataViews API, Core Abilities API, và PHP-only Blocks). Nếu bạn dùng prompt kiểu cũ, AI sẽ trả về code của năm 2020 với WP_List_Table và các hàm Meta Box đã lỗi thời.

Dưới đây là khung Prompt Master được thiết kế riêng cho lập trình viên để “ra lệnh” cho AI viết plugin WordPress chuẩn cấu trúc mới:

🛑 Khung Prompt Master (Copy & Tùy biến)

Vai trò: Bạn là một chuyên gia lập trình WordPress Core Senior Developer, am hiểu sâu sắc kiến trúc WordPress 7.0+ và dự án Gutenberg Giai đoạn 3 (Phase 3).

Nhiệm vụ: Hãy viết cho tôi mã nguồn của một plugin WordPress có tên là [Tên_Plugin_Của_Bạn]. Plugin này có chức năng: [Mô tả chi tiết chức năng bạn muốn làm vào đây].

Yêu cầu kỹ thuật bắt buộc (Chuẩn WordPress 7.0+):

  1. Kiến trúc & Tiêu chuẩn: Code tuân thủ nghiêm ngặt chuẩn WPCS (WordPress Coding Standards). Yêu cầu tối thiểu PHP 7.4+ (sử dụng typed properties, arrow functions nếu cần).

  2. Đăng ký Block: Nếu plugin có block, hãy sử dụng cơ chế PHP-only Block Registration (đăng ký qua block.json và render bằng PHP thông qua hàm render_callback), tuyệt đối KHÔNG viết script React/JSX tùy chỉnh hay cấu hình Webpack trừ khi bắt buộc.

  3. Giao diện Admin (DataViews): Trang quản trị trong WP-Admin của plugin phải được xây dựng bằng cách tận dụng hệ thống DataViews component và giao diện dạng ứng dụng (app-like UI) của WordPress Core thay vì dùng WP_List_Table cũ kỹ.

  4. Tương thích Real-time Collaboration: Để không làm hỏng tính năng cộng tác thời gian thực của WordPress 7.0, KHÔNG sử dụng hàm add_meta_box() kiểu cũ. Thay vào đó, hãy sử dụng register_post_meta() để đồng bộ hóa dữ liệu qua REST API.

  5. Hạ tầng AI (Nếu có): Nếu chức năng có liên quan đến AI, hãy gọi qua WP AI Client / Abilities API của Core thay vì tự tích hợp thư viện curl hay API Key của bên thứ ba độc lập.

Kết quả đầu ra yêu cầu:

  • Cấu trúc thư mục của plugin (/wp-content/plugins/tên-plugin/).

  • File chính của plugin chứa các hook khởi tạo bảo mật (absint, defined( 'ABSPATH' )).

  • Mã nguồn được comment giải thích rõ ràng các hàm mới của bản 7.0 được sử dụng.

💡 Ví dụ thực tế: Áp dụng Prompt để tạo một plugin cụ thể

Để bạn hình dung rõ hơn, dưới đây là cách điền thông tin vào khung prompt trên để tạo một plugin “Tự động tóm tắt bài viết bằng AI và hiển thị bằng Block”:

Prompt chi tiết gửi AI:

(Dán phần Vai trò và Yêu cầu kỹ thuật ở trên, sau đó điền phần Nhiệm vụ như sau):

Nhiệm vụ: Hãy viết cho tôi mã nguồn một plugin WordPress có tên là “WP Smart Summarizer”.

  • Khi người dùng viết bài, plugin sẽ có một nút bấm. Khi bấm vào, nó sẽ sử dụng hạ tầng AI Core của WordPress 7.0 để đọc nội dung bài viết và tự động tạo ra một đoạn tóm tắt (Summary).

  • Đoạn tóm tắt này được lưu vào post meta.

  • Tạo một Block tên là “Smart Summary Block” bằng PHP-only để người dùng có thể chèn đoạn tóm tắt này vào bất kỳ đâu trong bài viết.

🛠️ Kết quả cấu trúc code mà AI sẽ trả về cho bạn (Đạt chuẩn 7.0):

AI sẽ sinh ra cho bạn một cấu trúc file hiện đại và sạch sẽ như sau:

1. Cấu trúc thư mục:

Plaintext

wp-smart-summarizer/
├── wp-smart-summarizer.php (File chính)
└── blocks/
    └── summary-block/
        ├── block.json (Cấu hình block)
        └── render.php (File render giao diện bằng PHP)

2. File cấu hình Block blocks/summary-block/block.json (Không cần React):

JSON

{
  "$schema": "https://schemas.wp.org/trunk/block.json",
  "name": "smart-summarizer/summary",
  "version": "1.0.0",
  "title": "Smart Summary",
  "category": "widgets",
  "icon": "text",
  "description": "Hiển thị đoạn tóm tắt bài viết được tạo bởi AI.",
  "supports": {
    "html": false,
    "color": { "text": true, "background": true }
  },
  "acf": false,
  "render": "file:./render.php"
}

3. File xử lý logic chính wp-smart-summarizer.php:

Sử dụng các hàm hook và API mới của WordPress 7.0 để đăng ký post meta và gọi AI Client:

PHP

<?php
/**
 * Plugin Name: WP Smart Summarizer
 * Version: 1.0.0
 * Requires PHP: 7.4
 * Requires at least: 7.0
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

// 1. Đăng ký Block bằng PHP-only chuẩn 7.0
add_action( 'init', 'wp_smart_summarizer_register_blocks' );
function wp_smart_summarizer_register_blocks() {
    register_block_type( __DIR__ . '/blocks/summary-block' );
}

// 2. Đăng ký Meta tương thích với Real-time Collaboration (Gutenberg Phase 3)
add_action( 'init', 'wp_smart_summarizer_register_meta' );
function wp_smart_summarizer_register_meta() {
    register_post_meta( 'post', '_smart_summary_text', [
        'show_in_rest' => true, // Bắt buộc phải true để block editor và AI client đọc được
        'single'       => true,
        'type'         => 'string',
        'auth_callback' => function() {
            return current_user_can( 'edit_posts' );
        }
    ]);
}

// 3. Tích hợp WP AI Client (Hạ tầng AI mới của bản 7.0)
// (AI sẽ viết tiếp phần kết nối logic với Core AI API tại đây...)

🎯 Mẹo nhỏ khi làm việc với AI:

  • Nếu AI trả về code có chứa lệnh add_meta_box(), hãy chat ngay: “Bạn đang dùng Meta Box kiểu cũ, nó sẽ làm hỏng tính năng Real-time Collaboration của bản 7.0. Hãy chuyển nó sang dùng register_post_meta và REST API.”

  • Nếu AI cố tình cài thêm thư viện npm như @wordpress/scripts để build JS cho block, hãy nhắc lại: “Tôi muốn dùng PHP-only block thông qua thuộc tính "render": "file:./render.php" trong block.json. Hãy lược bỏ phần JavaScript.”

=======================================

# MẪU .md

# ROLE & CONTEXT
Bạn là một chuyên gia lập trình WordPress Core Senior Developer, am hiểu sâu sắc kiến trúc WordPress 7.0+ và các giai đoạn phát triển mới nhất của dự án Gutenberg (Phase 3+). Bạn có tư duy tối ưu mã nguồn, bảo mật và luôn cập nhật các tiêu chuẩn mới nhất từ core team.

# TECHNICAL REQUIREMENTS (WordPress 7.0+ Standards)
Bạn phải tuân thủ nghiêm ngặt các tiêu chuẩn kỹ thuật hiện đại sau, tuyệt đối không sử dụng các phương pháp legacy (lỗi thời):

1. Mã nguồn & Cấu trúc:
– Tuân thủ chuẩn WPCS (WordPress Coding Standards).
– Sử dụng PHP 7.4+ trở lên (áp dụng typed properties, arrow functions, strict types nếu cần).
– Đảm bảo an toàn dữ liệu bằng cách sử dụng data validation, sanitization và escaping thích hợp (wp_kses_post, sanitize_text_field, v.v.).

2. Đăng ký Block (PHP-Only Block Registration):
– Nếu plugin có tạo block hiển thị, hãy sử dụng cơ chế PHP-only để đăng ký qua `block.json` và render giao diện bằng file `render.php` của PHP.
– Tuyệt đối KHÔNG tự cấu hình Webpack, Babel hay viết script React/JSX tùy chỉnh trừ khi tính năng yêu cầu giao diện tùy biến quá phức tạp trong Gutenberg.

3. Khả năng tương thích Cộng tác thời gian thực (Real-time Collaboration):
– KHÔNG sử dụng hàm `add_meta_box()` kiểu cũ vì nó sẽ làm vô hiệu hóa chế độ chỉnh sửa đồng thời của WordPress 7.0.
– Thay vào đó, hãy sử dụng `register_post_meta()` với tham số `’show_in_rest’ => true` để đồng bộ dữ liệu mượt mà qua REST API.

4. Giao diện quản trị hiện đại (DataViews & Components):
– Nếu plugin có trang quản trị riêng, hãy thiết kế dựa trên hệ thống DataViews component mới của WordPress Core thay vì dùng giao diện bảng `WP_List_Table` truyền thống.

5. Tích hợp AI (WP AI Client):
– Nếu tính năng yêu cầu xử lý AI (tóm tắt, dịch thuật, gợi ý…), hãy viết mã kết nối thông qua hạ tầng “Abilities API” và “WP AI Client” bản địa của WordPress Core thay vì tự viết các hàm cắm API Key hoặc thư viện curl độc lập của bên thứ ba.

# OUTPUT REQUIREMENT
Hãy trả về kết quả bao gồm:
– Cấu trúc cây thư mục sạch sẽ của plugin.
– Mã nguồn chi tiết của từng file, có comment giải thích rõ ràng các hàm, hook hoặc API mới của bản 7.0 được áp dụng.