🧑💻 Development#
Thư mục này cung cấp thông tin dành cho lập trình viên muốn mở rộng, tùy chỉnh hoặc maintain plugin.
📁 Cấu trúc mã nguồn#
Plugin được tổ chức theo module:assets/: CSS, JS, images (frontend)
shortcodes/: Xử lý logic từng shortcode
widgets/: WordPress Widget
includes/: Core system, hooks, helpers
site-api.php: Giao tiếp API bên ngoài
⚙️ Cách plugin hoạt động#
Shortcode được register qua add_shortcode()
Dữ liệu được load bằng AJAX (admin-ajax.php)
Một số module sử dụng polling (ví dụ: live data)
API được gọi từ site-api.php
🔌 Hooks & Filters#
Plugin có thể expose một số hook để mở rộng:Modify data trước khi render
🌐 AJAX API#
🧩 Thêm shortcode mới#
1.
Tạo folder trong shortcodes/
🎨 Enqueue assets#
🔐 Security#
Kiểm tra quyền: current_user_can()
Nonce: wp_create_nonce() + check_ajax_referer()
🛠️ Debug & Development#
🚀 Best Practices#
Không echo trực tiếp → dùng return trong shortcode
Sử dụng WordPress API thay vì code thuần
📌 TODO / Extend#
Cache dữ liệu (Transient API)
Gutenberg Block thay shortcode
Tối ưu performance (lazy load, debounce AJAX)
👉 Thư mục này dành cho developer, không cần hiển thị cho end-user.Ngày cập nhật 2026-03-26 14:35:04