- 1. Cấu trúc readme.txt phải đúng chuẩn
- 2. Tài khoản submit và email phải đồng bộ với thông tin plugin
- 3. Tên plugin và tên hàm phải thể hiện tính sở hữu rõ ràng
- 4. Chạy Plugin Check để đảm bảo mã nguồn đúng chuẩn WPCS
- 5. Tránh các đoạn mã bị nghi ngờ hoặc vi phạm chính sách
- 6. Chuẩn bị file .zip đúng định dạng
- 7. Danh sách kiểm tra trước khi submit
- Kết luận
1. Cấu trúc readme.txt phải đúng chuẩn
File readme.txt là nơi WordPress.org lấy nội dung để hiển thị trên trang plugin của bạn. Cấu trúc file này phải tuân theo định dạng chuẩn với đầy đủ các trường:
- Plugin Name
- Contributors (dùng username WordPress.org, không phải tên người hoặc tên công ty)
- Tags, Requires at least, Tested up to, Stable tag, License
- Short Description và mô tả chính (mục
== Description ==)
Nếu thiếu hoặc sai format, plugin sẽ không được duyệt. Ngoài ra, nếu bạn dùng một tài khoản khác để submit, username đó phải được liệt kê trong trường Contributors, nếu không sẽ bị từ chối vì không khớp thông tin người gửi.
2. Tài khoản submit và email phải đồng bộ với thông tin plugin
Nếu plugin đại diện cho một công ty hoặc tổ chức (ví dụ: Init HTML), thì tài khoản WordPress.org sử dụng để submit nên có địa chỉ email theo domain của tổ chức đó, ví dụ [email protected]. Không nên dùng địa chỉ Gmail, Hotmail, hay email cá nhân khác nếu bạn không chứng minh được quyền sở hữu hợp pháp đối với thương hiệu ghi trong plugin.
Một giải pháp dễ áp dụng là sử dụng Cloudflare Email Routing để tạo email theo tên miền của bạn, và chuyển tiếp về Gmail để sử dụng bình thường.
3. Tên plugin và tên hàm phải thể hiện tính sở hữu rõ ràng
WordPress không chấp nhận các plugin sử dụng thương hiệu của bên thứ ba nếu bạn không có quyền hợp pháp. Ví dụ, bạn không thể đặt tên plugin là “Facebook Auto Post” hoặc sử dụng các tiền tố như meta_, google_, wc_ nếu không phải là nhân sự chính thức từ các bên đó.
Với hàm và class, bạn cần đặt tên với prefix duy nhất, liên quan đến plugin hoặc thương hiệu của bạn. Ví dụ:
function init_plugin_suite_live_search_render_results() {}
Không dùng các tên chung như render(), get_data(), output() vì có thể gây xung đột với plugin khác.
4. Chạy Plugin Check để đảm bảo mã nguồn đúng chuẩn WPCS
Plugin Check là plugin chính thức của WordPress giúp bạn kiểm tra mã nguồn theo chuẩn WordPress Coding Standards (WPCS). Công cụ này sẽ cảnh báo nếu bạn:
- Không sử dụng các hàm
esc_html(),esc_attr()cho đầu ra - Không dùng nonce khi xử lý form
- Gọi các hook sai tên hoặc sai tham số
- Sử dụng function deprecated
- Sai format code như thiếu dấu cách, đóng mở ngoặc không đúng
Tuy nhiên, Plugin Check không kiểm tra logic hoặc hành vi plugin. Nó sẽ không bắt bạn nếu thiếu register_uninstall_hook(), không có license.txt, hoặc function bị trùng tên – đó là phần bạn cần tự kiểm soát thêm.
5. Tránh các đoạn mã bị nghi ngờ hoặc vi phạm chính sách
WordPress sẽ từ chối plugin nếu phát hiện các dấu hiệu sau:
- Chứa các function nguy hiểm:
eval(),exec(),base64_decode() - Gọi API về các domain lạ hoặc chứa mã theo dõi người dùng
- Obfuscate code hoặc dùng JS/CSS đã mã hóa quá mức
Tốt nhất là giữ mã nguồn sạch, dễ đọc và công khai, đúng theo triết lý mã nguồn mở.
6. Chuẩn bị file .zip đúng định dạng
Plugin khi nộp phải được zip với cấu trúc chuẩn:
init-live-search/
├── init-live-search.php
├── readme.txt
├── assets/
├── includes/
└── ...
Không zip cả thư mục project hoặc thư viện ngoài không cần thiết. Đảm bảo file chính nằm ngay trong thư mục cùng tên với slug plugin.
7. Danh sách kiểm tra trước khi submit
- Đã viết
readme.txtchuẩn format - Tài khoản submit nằm trong Contributors
- Email theo domain nếu plugin đại diện tổ chức
- Dùng prefix riêng cho toàn bộ function và class
- Không dùng từ khóa thương hiệu bạn không sở hữu
- Đã chạy Plugin Check và sửa toàn bộ cảnh báo
- Mã sạch, không chứa đoạn code nguy hiểm
Kết luận
Submit plugin lên WordPress.org không khó, nhưng đòi hỏi sự chuẩn bị kỹ về cả mặt kỹ thuật và pháp lý. Nếu làm đúng từ đầu, plugin của bạn sẽ được duyệt nhanh chóng, tạo nền tảng vững chắc để phát triển lâu dài. Còn nếu để sai sót, bạn có thể mất thời gian sửa chữa, hoặc bị từ chối mà không biết vì lý do gì. Hãy chuẩn hóa quy trình ngay từ lần đầu để tiết kiệm công sức và đạt hiệu quả cao nhất.
Bình luận