Giao trình WordPress Full Stack

Cập nhật: 20/12/2025

Đánh giá:

CHƯƠNG 0 — Môi trường làm việc dev (Windows)

Mục tiêu: có môi trường test ngay từ buổi đầu, biết debug log.

0.1 Công cụ tối thiểu

  • 0.1.1 VS Code: mở project, search, format, extensions tối thiểu

  • 0.1.2 Terminal: cd, dir, copy path

  • 0.1.3 Git tối thiểu: init, add, commit, log

0.2 WordPress Local

  • 0.2.1 Cài LocalWP, tạo site, vào wp-admin

  • 0.2.2 Cấu trúc thư mục WP (wp-content là vùng làm việc)

  • 0.2.3 Bật WP_DEBUG, tìm và đọc debug.log

Bài tập chương 0: tạo site local + bật debug + commit repo “wp-mentor”

Lý do đặt chương này đầu tiên: Anh học gì cũng phải test được ngay thì mới “chắc”.


CHƯƠNG 1 — Tư duy lập trình từ gốc rễ

Mục tiêu: đọc code không sợ, hiểu luồng chạy, biết debug cơ bản.

1.1 Code là gì, chạy thế nào

  • 1.1.1 Chương trình = dữ liệu + lệnh (đọc từ trên xuống)

  • 1.1.2 Biến là gì, đặt tên, kiểu dữ liệu

  • 1.1.3 Toán tử (==, !=, <, >), nối chuỗi

1.2 5 khối tư duy cốt lõi

  • 1.2.1 if/else (rẽ nhánh)

  • 1.2.2 vòng lặp (for/while/foreach)

  • 1.2.3 hàm (function) – input/output, return

  • 1.2.4 mảng (array) & thao tác cơ bản

  • 1.2.5 debug: đọc lỗi, suy luận nguyên nhân

Bài tập chương 1: 20 bài mini “đoán output / sửa lỗi 1 dòng / viết hàm nhỏ”

Ghi chú: “Chương I – Code chạy như thế nào” của series blog chính là 1.1.1 trong chương này.


CHƯƠNG 2 — PHP “đúng phần cần để làm WordPress”

Mục tiêu: viết PHP đủ để làm plugin gọn – sạch – hiểu code người khác.

2.1 PHP cơ bản

  • biến, string, number, array

  • if/else, foreach

  • function + return

  • include/require

2.2 PHP cho plugin

  • class/object (OOP tối thiểu)

  • static vs non-static (mức vừa đủ)

  • namespace (tránh trùng tên)

Bài tập chương 2: viết vài hàm xử lý dữ liệu + 1 class đơn giản (Mentor review)


CHƯƠNG 3 — WordPress nền tảng (mô hình – cấu trúc – cách hoạt động)

Mục tiêu: hiểu WP xử lý request, plugin “móc” vào đâu, dữ liệu nằm ở đâu.

3.1 Tổng quan

  • 3.1.1 WP Core vs Theme vs Plugin

  • 3.1.2 Luồng chạy khi mở 1 trang (request lifecycle)

  • 3.1.3 Hook: action vs filter

3.2 Cơ sở dữ liệu WP

  • 3.2.1 posts/postmeta/options/users (ý nghĩa thực tế)

  • 3.2.2 CPT là gì, lưu ở đâu

  • 3.2.3 Khi nào dùng custom table (booking/ERP)

Bài tập chương 3: trả lời bộ câu hỏi chuẩn + vẽ sơ đồ “WP chạy qua những bước nào”


CHƯƠNG 4 — Plugin căn bản (từ “Hello” → plugin có cấu trúc)

Mục tiêu: nắm header, bảo vệ file, hook, phân quyền, debug.

4.1 Plugin tối thiểu chạy

  • header plugin

  • ABSPATH/chặn truy cập trực tiếp

  • add_action + admin_notices

  • current_user_can

4.2 Chuẩn hoá plugin

  • tách file, đặt tên, cấu trúc thư mục

  • activation/deactivation hooks

  • ghi log khi debug

Bài tập chương 4: “Mentor Starter Plugin” v0.1


CHƯƠNG 5 — Admin Menu + Settings

Mục tiêu: plugin có trang cấu hình như sản phẩm thật.

  • admin menu/submenu

  • form settings

  • lưu option chuẩn + sanitize/escape

  • thông báo lưu thành công

Bài tập chương 5: trang “Cấu hình hệ thống”


CHƯƠNG 6 — Dữ liệu nghiệp vụ (CPT/Meta/Custom Table)

Mục tiêu: lưu dữ liệu đúng cách, chuẩn để lên booking/ERP.

  • CPT + meta box

  • danh sách quản trị

  • custom table: thiết kế bảng + index

  • CRUD an toàn (prepare query)

Bài tập chương 6: module “Danh mục” + “Giao dịch”


CHƯƠNG 7 — Bảo mật bắt buộc

Mục tiêu: plugin không dính lỗi cơ bản.

  • nonce

  • capability check đúng chỗ

  • chống XSS (escape)

  • chống SQL injection (prepare)

Bài tập chương 7: Mentor đưa plugin mẫu có lỗi → Anh sửa theo checklist


CHƯƠNG 8 — Frontend (shortcode + form)

  • shortcode hiển thị

  • form submit + validate

  • enqueue CSS/JS đúng trang

Bài tập chương 8: form đặt lịch bản đơn giản


CHƯƠNG 9 — AJAX & REST API

  • admin-ajax vs REST

  • REST route + permission callback

  • fetch từ JS

Bài tập chương 9: trang admin CRUD qua REST


CHƯƠNG 10 — Kiến trúc plugin pro (Core + Modules)

  • tách core và module

  • service/repository mức vừa đủ

  • chuẩn hoá cấu trúc dự án

Bài tập chương 10: refactor plugin thành “Core + Module”


CHƯƠNG 11 — Đóng gói & phát hành

  • versioning

  • build zip

  • readme/changelog

  • release checklist

Bài tập chương 11: phát hành v1.0.0 (zip)


CHƯƠNG 12 — Tự update

  • WP.org (public) hoặc private update server

  • metadata, endpoint, tải zip

  • (nâng cao) license

Bài tập chương 12: plugin tự báo update từ server mẫu


CHƯƠNG 13 — Capstone: Booking Plugin MVP

  • dịch vụ/tài nguyên/slot

  • chống trùng lịch

  • quản lý booking admin

  • frontend đặt lịch

  • custom table + REST

  • đóng gói + update

Bài tập chương 13: hoàn thiện Booking MVP