REST API trong WordPress là gì?
REST API (Representational State Transfer API) là giao diện lập trình cho phép lấy và gửi dữ liệu đến website WordPress thông qua HTTP, dưới định dạng JSON. Nó giúp bạn truy cập nội dung WordPress từ bên ngoài mà không cần truy cập vào admin hoặc template PHP.
Ví dụ: muốn lấy danh sách bài viết mới nhất? Gọi URL:
https://tenmien.com/wp-json/wp/v2/posts
REST API được WordPress tích hợp sẵn từ phiên bản 4.7 trở lên.
REST API hoạt động như thế nào?
- Bạn gửi một HTTP request (GET, POST, PUT, DELETE…)
- Server WordPress phản hồi lại bằng dữ liệu JSON
- Có thể gọi từ JavaScript, app di động, tool bên ngoài hoặc các site khác
Các endpoint REST API phổ biến trong WordPress
| Endpoint | Chức năng |
|---|---|
/wp-json/ |
Thông tin chung về API |
/wp-json/wp/v2/posts |
Lấy danh sách bài viết |
/wp-json/wp/v2/pages |
Lấy danh sách trang |
/wp-json/wp/v2/categories |
Lấy chuyên mục |
/wp-json/wp/v2/users |
Lấy danh sách user (yêu cầu quyền) |
Ví dụ sử dụng REST API với fetch (JavaScript)
fetch('https://tenmien.com/wp-json/wp/v2/posts')
.then(response => response.json())
.then(data => {
console.log(data);
});
Khi nào nên dùng REST API trong WordPress?
- Site headless (frontend dùng React, Vue…)
- App mobile cần đọc dữ liệu từ WordPress
- Gọi dữ liệu bài viết qua AJAX (live search, load more…)
- Tích hợp nội dung từ nhiều nguồn khác nhau
Cách bật/tắt hoặc bảo vệ REST API
- REST API luôn bật mặc định (với quyền public)
- Muốn hạn chế hoặc bảo mật: dùng plugin như Disable REST API hoặc code filter
- Để xác thực, có thể dùng:
- Basic Auth (kém an toàn, dùng khi dev)
- Cookie auth (sử dụng nonce)
- JWT (token bảo mật, dùng cho app, mobile)
REST API và bảo mật
Nên giới hạn các endpoint nhạy cảm như /users, và không hiển thị dữ liệu admin khi không cần thiết. Ngoài ra cần dùng HTTPS và cơ chế xác thực rõ ràng nếu gọi API từ nơi khác.
Kết luận
REST API là cầu nối giúp WordPress thoát khỏi giới hạn truyền thống của PHP template, và mở ra khả năng tương tác hiện đại với JS, app mobile, hoặc các hệ thống khác. Nếu bạn đang làm live search, form AJAX, app di động hoặc headless site – REST API là thứ không thể thiếu.