Deprecated: Implicit conversion from float 19.6 to int loses precision in /var/www/vinascript/html/wp-content/plugins/internal-links/core/links/text-to-link-converter-factory.php on line 36
Trước đây, trước khi có sẵn WordPress REST API, tôi đã thường xây dựng một trang /api riêng và tự viết mã nguồn API cho WordPress. Việc này đòi hỏi nhiều thời gian và công sức, và đôi khi kết quả không như mong muốn. Tuy nhiên, từ khi WordPress REST API xuất hiện, mọi thứ đã trở nên đơn giản hơn đáng kể. Dưới đây, tôi sẽ chia sẻ những trải nghiệm của mình sau khi sử dụng WordPress REST API.
WordPress REST API là gì?
WordPress REST API cung cấp một API Endpoint, cho phép các nhà phát triển tương tác với các trang web từ xa bằng cách gửi và nhận dữ liệu dưới dạng JSON (JavaScript Object Notation). JSON là một định dạng dữ liệu tiêu chuẩn, nhẹ, và dễ đọc. Khi bạn thực hiện yêu cầu tới API, dữ liệu phản hồi sẽ được trả về trong định dạng JSON. Điều này cho phép các nhà phát triển có khả năng tạo, đọc, và cập nhật nội dung trên WordPress từ xa hoặc từ các ứng dụng bên ngoài.
Các khái niệm của WordPress REST API
Để bắt đầu, bạn cần hiểu các khái niệm sau:
- Routes/Endpoints: Có thể hiểu đây là đường dẫn nới bạn gửi request tới trên blog của bạn. Nó có đường dẫn là: http://your-blog.com/wp-json/
- Requests: Yêu cầu gửi tới Endpoint
- Responses: Dữ liệu trả về của Endpoin
- Schema: Cấu trúc dữ liệu mà Responses trả về để bạn có thể xác định được dữ liệu cần tìm
- Controller Classes: Trình điều khiển, nơi quản lý, điều hướng Endpoint, Request, Responses
Hướng dẫn sử dụng WordPress REST API
Bây giờ chúng ta sẽ cùng tìm hiểu cách quản lý WordPress thông qua WordPress REST API
Đường dẫn base là:
http://your-blog.com/wp-json
Liệt kê danh sách bài viết (posts)
curl -X OPTIONS -i http://your-blog.com/wp-json/wp/v2/posts
Liệt kê danh sách trang (pages)
curl -X GET -i http://your-blog.com/wp-json/wp/v2/pages
Lấy bài viết theo ID
curl -X GET -i http://your-blog.com/wp-json/wp/v2/posts/<ID>
Tạo mới một bài viết
Để tạo một bài viết mới trong WordPress thông qua REST API, bạn thường phải đăng nhập vào trang quản trị và viết bài. Tuy nhiên, với REST API, bạn không thể thực hiện đăng nhập bằng cách thông thường. Do đó, bạn cần sử dụng một plugin để thực hiện điều này và có thể tạo bài viết qua REST API. Một trong những plugin phổ biến cho việc này là Basic Auth.
Sau khi bạn đã cài đặt và kích hoạt plugin Basic Auth, bạn có thể tạo bài viết một cách đơn giản với quyền xác thực.
curl --user username:password http://your-blog.com/wp-json/
Hoặc tạo bài viết với phần header:
Authorization: Basic dGVzdHVzZXI6MTIzNDU2
Với: dGVzdHVzZXI6MTIzNDU2 là mã base64 của username:password
Update bài viết
curl -X POST --user username:password http://your-blog.com/wp-json/wp/v2/posts/<ID> -d '{"title":"My New Title"}'
Xóa bài viết
curl -X DELETE https://your-blog.com/wp-json/wp/v2/posts/<id>
Kết luận
Dưới đây là một vài ví dụ về cách sử dụng WordPress REST API để điều khiển và quản lý bài viết. Tuy nhiên, REST API của WordPress còn cung cấp nhiều chức năng khác nữa.