Hướng Dẫn Sử Dụng REST API của WordPress Toàn Tập

1. Xác Thực và Phân Quyền

REST API của WordPress yêu cầu xác thực khi thực hiện các thao tác bảo mật. Các phương pháp xác thực phổ biến bao gồm:

  • Cookie Authentication: Được sử dụng khi người dùng đăng nhập qua giao diện WordPress.
  • Application Passwords: Cung cấp một phương pháp đơn giản để xác thực từ các ứng dụng bên ngoài.
  • OAuth: Phương pháp phổ biến cho các ứng dụng di động và web.
  • Basic Authentication: Thường dùng cho phát triển và thử nghiệm.

2. Quản Lý Bài Viết (Posts)

2.1 Lấy Danh Sách Bài Viết

Để lấy danh sách tất cả các bài viết, sử dụng phương thức GET với endpoint /wp-json/wp/v2/posts:

GET http://example.com/wp-json/wp/v2/posts

Kết quả trả về là danh sách các bài viết với các thông tin cơ bản như ID, tiêu đề, và nội dung.

2.2 Lấy Một Bài Viết Theo ID

Để lấy thông tin chi tiết của một bài viết bằng cách sử dụng ID, sử dụng phương thức GET với endpoint /wp-json/wp/v2/posts/{id}:

GET http://example.com/wp-json/wp/v2/posts/123

Trong đó 123 là ID của bài viết bạn muốn lấy. Kết quả trả về là thông tin chi tiết của bài viết này.

2.3 Tạo Một Bài Viết Mới

Để tạo một bài viết mới, sử dụng phương thức POST với endpoint /wp-json/wp/v2/posts và gửi dữ liệu bài viết trong body của yêu cầu:

POST http://example.com/wp-json/wp/v2/posts

Dữ liệu (trong body của yêu cầu) có thể là:

{ “title”: “New Post”, “content”: “Content of the new post.”, “status”: “publish” }

Kết quả sẽ trả về thông tin của bài viết mới vừa được tạo.

2.4 Cập Nhật Một Bài Viết

Để cập nhật thông tin của một bài viết cụ thể, sử dụng phương thức PUT với endpoint /wp-json/wp/v2/posts/{id}:

PUT http://example.com/wp-json/wp/v2/posts/123

Dữ liệu (trong body của yêu cầu) có thể là:

{ “title”: “Updated Post Title”, “content”: “Updated content of the post.” }

Kết quả sẽ trả về thông tin của bài viết sau khi đã được cập nhật.

2.5 Xóa Một Bài Viết

Để xóa một bài viết, sử dụng phương thức DELETE với endpoint /wp-json/wp/v2/posts/{id}:

DELETE http://example.com/wp-json/wp/v2/posts/123

Kết quả sẽ xác nhận rằng bài viết với ID 123 đã được xóa.

3. Quản Lý Trang (Pages)

3.1 Lấy Danh Sách Trang

Để lấy danh sách tất cả các trang, sử dụng phương thức GET với endpoint /wp-json/wp/v2/pages:

GET http://example.com/wp-json/wp/v2/pages

3.2 Lấy Một Trang Theo ID

Để lấy thông tin chi tiết của một trang bằng cách sử dụng ID, sử dụng phương thức GET với endpoint /wp-json/wp/v2/pages/{id}:

GET http://example.com/wp-json/wp/v2/pages/123

3.3 Tạo Một Trang Mới

Để tạo một trang mới, sử dụng phương thức POST với endpoint /wp-json/wp/v2/pages và gửi dữ liệu trang trong body của yêu cầu:

POST http://example.com/wp-json/wp/v2/pages

Dữ liệu (trong body của yêu cầu) có thể là:

{ “title”: “New Page”, “content”: “Content of the new page.”, “status”: “publish” }

3.4 Cập Nhật Một Trang

Để cập nhật thông tin của một trang cụ thể, sử dụng phương thức PUT với endpoint /wp-json/wp/v2/pages/{id}:

PUT http://example.com/wp-json/wp/v2/pages/123

Dữ liệu (trong body của yêu cầu) có thể là:

{ “title”: “Updated Page Title”, “content”: “Updated content of the page.” }

3.5 Xóa Một Trang

Để xóa một trang, sử dụng phương thức DELETE với endpoint /wp-json/wp/v2/pages/{id}:

DELETE http://example.com/wp-json/wp/v2/pages/123

4. Quản Lý Danh Mục (Categories)

4.1 Lấy Danh Sách Danh Mục

Để lấy danh sách tất cả các danh mục, sử dụng phương thức GET với endpoint /wp-json/wp/v2/categories:

GET http://example.com/wp-json/wp/v2/categories

4.2 Lấy Một Danh Mục Theo ID

Để lấy thông tin chi tiết của một danh mục bằng cách sử dụng ID, sử dụng phương thức GET với endpoint /wp-json/wp/v2/categories/{id}:

GET http://example.com/wp-json/wp/v2/categories/123

4.3 Tạo Một Danh Mục Mới

Để tạo một danh mục mới, sử dụng phương thức POST với endpoint /wp-json/wp/v2/categories và gửi dữ liệu danh mục trong body của yêu cầu:

POST http://example.com/wp-json/wp/v2/categories

Dữ liệu (trong body của yêu cầu) có thể là:

{ “name”: “New Category”, “description”: “Description of the new category.” }

4.4 Cập Nhật Một Danh Mục

Để cập nhật thông tin của một danh mục cụ thể, sử dụng phương thức PUT với endpoint /wp-json/wp/v2/categories/{id}:

PUT http://example.com/wp-json/wp/v2/categories/123

Dữ liệu (trong body của yêu cầu) có thể là:

{ “name”: “Updated Category Name”, “description”: “Updated description of the category.” }

4.5 Xóa Một Danh Mục

Để xóa một danh mục, sử dụng phương thức DELETE với endpoint /wp-json/wp/v2/categories/{id}:

DELETE http://example.com/wp-json/wp/v2/categories/123

5. Quản Lý Thẻ (Tags)

5.1 Lấy Danh Sách Thẻ

Để lấy danh sách tất cả các thẻ, sử dụng phương thức GET với endpoint /wp-json/wp/v2/tags:

GET http://example.com/wp-json/wp/v2/tags

5.2 Lấy Một Thẻ Theo ID

Để lấy thông tin chi tiết của một thẻ bằng cách sử dụng ID, sử dụng phương thức GET với endpoint /wp-json/wp/v2/tags/{id}:

GET http://example.com/wp-json/wp/v2/tags/123

5.3 Tạo Một Thẻ Mới

Để tạo một thẻ mới, sử dụng phương thức POST với endpoint /wp-json/wp/v2/tags và gửi dữ liệu thẻ trong body của yêu cầu:

POST http://example.com/wp-json/wp/v2/tags

Dữ liệu (trong body của yêu cầu) có thể là:

{ “name”: “New Tag”, “description”: “Description of the new tag.” }

5.4 Cập Nhật Một Thẻ

Để cập nhật thông tin của một thẻ cụ thể, sử dụng phương thức PUT với endpoint /wp-json/wp/v2/tags/{id}:

PUT http://example.com/wp-json/wp/v2/tags/123

Dữ liệu (trong body của yêu cầu) có thể là:

{ “name”: “Updated Tag Name”, “description”: “Updated description of the tag.” }

5.5 Xóa Một Thẻ

Để xóa một thẻ, sử dụng phương thức DELETE với endpoint /wp-json/wp/v2/tags/{id}:

DELETE http://example.com/wp-json/wp/v2/tags/123

6. Quản Lý Thuật Ngữ (Terms)

6.1 Lấy Danh Sách Thuật Ngữ

Để lấy danh sách tất cả các thuật ngữ, sử dụng phương thức GET với endpoint /wp-json/wp/v2/terms:

GET http://example.com/wp-json/wp/v2/terms

6.2 Lấy Một Thuật Ngữ Theo ID

Để lấy thông tin chi tiết của một thuật ngữ bằng cách sử dụng ID, sử dụng phương thức GET với endpoint /wp-json/wp/v2/terms/{id}:

GET http://example.com/wp-json/wp/v2/terms/123

6.3 Tạo Một Thuật Ngữ Mới

Để tạo một thuật ngữ mới, sử dụng phương thức POST với endpoint /wp-json/wp/v2/terms và gửi dữ liệu thuật ngữ trong body của yêu cầu:

POST http://example.com/wp-json/wp/v2/terms

Dữ liệu (trong body của yêu cầu) có thể là:

{ “name”: “New Term”, “description”: “Description of the new term.” }

6.4 Cập Nhật Một Thuật Ngữ

Để cập nhật thông tin của một thuật ngữ cụ thể, sử dụng phương thức PUT với endpoint /wp-json/wp/v2/terms/{id}:

PUT http://example.com/wp-json/wp/v2/terms/123

Dữ liệu (trong body của yêu cầu) có thể là:

{ “name”: “Updated Term Name”, “description”: “Updated description of the term.” }

6.5 Xóa Một Thuật Ngữ

Để xóa một thuật ngữ, sử dụng phương thức DELETE với endpoint /wp-json/wp/v2/terms/{id}:

DELETE http://example.com/wp-json/wp/v2/terms/123

7. Quản Lý Tác Giả (Authors)

7.1 Lấy Danh Sách Tác Giả

Để lấy danh sách tất cả các tác giả, sử dụng phương thức GET với endpoint /wp-json/wp/v2/users:

GET http://example.com/wp-json/wp/v2/users

7.2 Lấy Một Tác Giả Theo ID

Để lấy thông tin chi tiết của một tác giả bằng cách sử dụng ID, sử dụng phương thức GET với endpoint /wp-json/wp/v2/users/{id}:

GET http://example.com/wp-json/wp/v2/users/123

7.3 Tạo Một Tác Giả Mới

Để tạo một tác giả mới, sử dụng phương thức POST với endpoint /wp-json/wp/v2/users và gửi dữ liệu tác giả trong body của yêu cầu:

POST http://example.com/wp-json/wp/v2/users

Dữ liệu (trong body của yêu cầu) có thể là:

{ “username”: “newuser”, “email”: “[email protected]”, “password”: “password123”, “roles”: [“subscriber”] }

7.4 Cập Nhật Một Tác Giả

Để cập nhật thông tin của một tác giả cụ thể, sử dụng phương thức PUT với endpoint /wp-json/wp/v2/users/{id}:

PUT http://example.com/wp-json/wp/v2/users/123

Dữ liệu (trong body của yêu cầu) có thể là:

{ “email”: “[email protected]” }

7.5 Xóa Một Tác Giả

Để xóa một tác giả, sử dụng phương thức DELETE với endpoint /wp-json/wp/v2/users/{id}:

DELETE http://example.com/wp-json/wp/v2/users/123

8. Lấy Bài Viết Theo ID và Slug

Để lấy bài viết theo ID:

GET http://example.com/wp-json/wp/v2/posts/{id}

Để lấy bài viết theo slug:

GET http://example.com/wp-json/wp/v2/posts?slug={slug}

Trong đó {slug} là slug của bài viết bạn muốn tìm.


Hy vọng phiên bản chi tiết này giúp bạn nắm rõ cách sử dụng REST API của WordPress để quản lý các tài nguyên và thực hiện các thao tác bảo mật. Nếu bạn có thêm câu hỏi hoặc cần hỗ trợ thêm, hãy cho tôi biết!