Bài hướng dẫn WordPress REST API

Bài hướng dẫn WordPress REST API

Gần như tất cả những dân chuyên WordPress đều đã nghe tới REST API,nhờ vào việc thêm nó vào bản gốc năm 2015. Tuy nhiên, hầu hết các trường hợp chỉ những lập trình viên chuyên nghiệp mới nghiên cứu sâu về tính năng nay mạnh mẽ này.

WordPress Rest API bao gồm tất cả những API có thể được thích hợp vào themes, ứng dụng di động và hơn thế nữa. Nói cách khác, nó giúp lập trình viên tách biệt front end khỏi việc quản lý dữ liệu, giúp ứng dụng tương tác với WordPress. Học cách sử dụng công cụ này là mở ra cách cửa vô tận khả năng để mở rộng WordPress website của bạn.

Trong bài hướng dẫn này, chúng tôi sẽ giới thiệuc ho bạn biết về dự án WordPress Rest API, giải thích vì sao nó là một ý tưởng lớn, và chỉ vài cách ứng dụng. Hãy bắt đầu nhanh thôi nào!

Giới thiệu WordPress REST API

WP REST API project homepage

WordPress Representational State Transfer (REST) API dự án là Bước tiến của WordPress trong việc trở thành một nền tảng ứng dụng chính thức.  Sự tồn tại của REST API trong lõi WordPress là minh chứng cho việc này.

Dự án được upload đầu tiên lên GitHub for development tháng Sáu 2013 bởi Ryan McCueRachel Baker. Plugin độc lập REST API được tích hợp vào WordPress core tháng 9 năm 2015, sau khi nhận được nhiều sự ủng hộ từ cộng đồng và thu hút hơn 100 người đóng góp vào việc hoàn thiện khả năng cho nó.

Từ khi ra mắt trong WordPress core, REST API đã có rất nhiều người dùng. Đây là cách để nâng cấp dự án của bạn, được truyền cảm hứng bởi những trường hợp cụ thể trên thế giới như sau:

  1. Event Espresso sử dụng REST API để cung cấp cho lập trình viên khả năng truy cập vào hạ tầng nội bộ, khiến cho việc phát triển app dựa trên dịch vụ của họ dễ dàng hơn
  2. Simmer giúp lập trình viên truy cập vào API để mở rộng tính năng hóa đơn thành một ứng dụng chính thức hoặc tùy chỉnh themes.
  3. JoinIn tăng sức mạnh cho  widget ’embeddable’ bằng REST API, khiến nó phổ biến bởi những luồng dữ liệu thích hợp bất kỳ khi nào nó hiển thị.

Đây chỉ là bề nổi của tảng băng mà những ý tưởng sáng tạo hơn có thể dùng với REST API. Tuy nhiên hãy tìm hiểu thêm cách REST API hoạt động.

Cách hoạt động của WordPress Rest API

Nói ngắn gọn, REST API hoạt động bằng cách xử lý dữ liệu từ một nơi tới nơi khác mà không truy cập trực tiếp vào database hoặc giao diện người dùng. Có nhiều loại Application Programming Interfaces (APIs), nhưng REST nổi bật vì là một chuẩn hiện đại.

REST APIs được đưa ra ở Hyper Text Transfer Protocol (HTTP), sử dụng cấu trúc JavaScript Object Notation (JSON). Nhưng kỹ thuật này cho phép API sử dụng địa chỉ web duy nhất để đưa dữ liệu thực thi như là JavaScript objects.

Nếu bạn chưa bao giờ làm việc với JavaScripts hoặc object notation trước đây, có thể bắt đầu bằng việc học cơ bản về JSON. Khi đã quyen với ý tưởng của REST API, hãy tìm hiểu về những ảnh hưởng lớn nó giành cho lâp trình viên WordPress.

Vì sao WordPress REST API có ảnh hưởng tới lập trình viên

WordPress REST API Handbook

WordPress REST API là một kết nối mở từ bất kỳ WordPress nào tới bất kỳ ứng dụng nào trên web server hoặc hệ điều hành nào. Có nghĩa là bạn chỉ bị giới hạn bởi khả năng tưởng tượng của mình trong việc việc tận dụng WordPress. Bạn có thể dựng bất kỳ ứng dụng nào, lập trình bất kỳ nền tảng hoặc ngôn ngữ nào, sử dụng WordPress để xử lý dữ liệu qua REST API. Ứng dụng thật tế cực kỳ lớn, vì WordPress có cộng đồng sử dụng rất đông và mở.

Hơn nữa, vì REST API dựa trên JavaScript, việc tập trùng vào API đánh dấu bước chuyển về ngôn ngữ lập trình nào quan trọng để học. Bạn có thể JavaScript nền server là một PHP mới. Việc này có thể thấy được trong phần mềm mới của WordPress.com, Calypso, vận hành hoàn toàn trên JavaScript và REST API.

Bằng cách chuẩn hóa ứng dụng (gồm WordPress’ core) tương tác với dữ liệu WordPress, quá trình phát triển WordPress sẽ dễ dàng hơn và mượt mà hơn. Còn nữa, nó sẽ dễ tương thích với nền tảng thứ 3 hơn.

Tuy nhiên, quá trình chuyển đổi có thể hơi khó khăn, đó là lý do vì sao rất quan trọng để học cách sử dụng công nghệ này bây giờ. Đã đến lúc học bước đầu sử dụng REST API để  áp dụng cho dự án của bạn rồi đấy!

 

5 Bước để bắt đầu với WordPress REST API

Như đã nói ở trên REST API có thể được dùng với bất kỳ ứng dụng hay ngôn ngữ lập trình nào để gọi một HTTP endpoint (gần như là tất cả). Vì vậy, chúng ta sẽ tập trung sử dụng command line để thực thi REST API requests, vì nó là cách dễ nhất và ít lỗi lập trình nhất mà có thể xảy ra trong quá trình học.

Để làm vậy, bạn sẽ cần mở Command Line Interface (CLI) trên máy tính của bạn – Terminal trên macOS hay Linux, và Command Prompt trên Windows. CLI cho phép bạn trực tiếp tương tác với REST API, mà không phải viết thêm scripts để yêu và xử lý thông tin. Bất kỳ request nào được thực hiện trên CLI có thể được scripts thành PHP, JavaScript, và ngôn ngữ khác nhưng mỗi phương thức sẽ khác nhau. Ra lệnh trong CLI là đơn giản và rõ ràng. Chỉ cần gõ command bạn cần vàn hấn ENTER trên bàn phím.

Chúng tôi cũng khuyên tạo một site demo trên máy tính, thay vì hoàn tất bài hướng dẫn này trên site chạy thật. Cuối cùng, bạn chỉ cần tạo site WordPress bản 4.4 trở lên là được. Khi đã sẳn sàng, hãy bắt đầu học thôi!

Bước 1: Làm quen với những khái niệm chính của REST API

Trước khi bắt đầu, hãy làm quen với tất cả REST APIs trước khi tiếp tục. Có 5 khái niệm chính và thuật ngữ bạn cần nắm rõ. Hãy xem qua chúng:

  1. ‘Routes’ và ‘Endpoints’. Đây là phần quan trọng nhất của REST API cần. Route giúp bạn di chuyển qua endpoints, khi mà một phương thức HTTP nhất định (ví dụ: một dataset tĩnh hoặc một action) kết nối tới một route nhất định. Ví dụ,  /wp-json/ là route được thiết kế như là một endpoint để cho chúng ta thấy các route khả dụng.
  2. Requests. Được tạo ra để kích hoạt đúng endpoints và chuyển dữ liệu đi.
  3. Responses. Cung cấp dữ liệu được yêu cầu hoặc trả về lỗi để bạn biết có gì đó không đúng.
  4. Schemas. Những mẫu responses, để bạn luôn biết chính xác nơi nào cần tìm cho ra đúng dữ liệu.
  5. Controller classes. Trong điều kiện của layman, họ cho phép dựng route và endpoint riêng. Bây giờ, bạn không cần phải nghĩ tới những điều này, mặc dù có thể chúng sẽ hữu dụng sau này.

Khi bạn đã hiểu 5 khái niệm trên, bạn có thể bắt đầu đào sâu vào REST API, bắt đầu với endpoints.

Bước 2: Tìm hiểu về những Endpoints REST API hữu dụng nhất

WordPress REST API cho bạn một sách mẫu gồm tất cả những endpoints hữu dụng. Trước tiên, bạn cần biết cấu trúc làm thế nào một HTTP gọi tới một REST API. Cơ bản mỗi lần WordPress REST API gọi như sau, (thay thế yourdomain.com thành tên miền của bạn):

http://yourdomain.com/wp-json/

Bạn có thể thử kết nối bằng cách thực thi lệnh curl trong CLI bằng URL của riêng bạn:

curl -X OPTIONS -i http://yourdomain.com/wp-json/

Bạn sẽ được chào bằng một thông báo HTTP thành công. Sau đó bạn có thể tiếp tục và lặp lại câu lệnh này với các endpoints chính. Lần này, chúng ta sẽ dùng Get của curl.

Để lấy danh sách JSON của một post WordPress, bạn có thể dùng  lệnh sau:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts

Ngoài ra, hãy thử kiểm tra những trang đang tồn tại của WordPress:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/pages

Bước 3: Học cách chứng thực API cơ bản của REST API

Đã đến lúc tìm hiểu về cách xác thực. Một số actions và data trong REST API là public, nhưng những phần khác cần đăng nhập dưới dạng administrator. Tuy nhiên, với REST API, không có cách để đăng nhập. Ngoài trừ việc bạn chứng thực bạn trước khi gọi mỗi câu lệnh cần quyền admin, như là hiển thị những nội dung chưa public hoặc cập nhật bài post.

Bằng cách cài đặt plugin WordPress REST API Basic Auth.Đây là plugin thí nghiệm để học về REST API nhanh chóng, nó không được dùng cho những site đã vận hành.  Tuy nhiên, quá trình cài đặt cũng như các plugin khác.

Khi Basic Auth đã được cài đặt, bạn có thể chứng thực qua CLI với cờ user. Đây là ví dụ làm sao để áp dụng chứng thực cho user, bằng cách dùng curl để hiển thị các bài viết chưa được xuất bản.:

curl -X GET --user username:password -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

Bước 4: Chọn bài viết đầu tiên của bạn với REST API

Khi bạn đã hiểu làm thế nào để tạo một call cơ bản tới REST API sử dụng curl, hãy thử chọn một bài viết. Đầu tiên, liệt kê tất cả bài viết như là bạn đã làm trước đây:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts

Bước 5: Cập nhật bài viết WordPress với REST API

Cuối cùng, hãy thử cập nhật bài viết. Thay vì sử dụng lệnh OPTION và GET, lần này chúng ta sẽ dùng POST để thay đổi. GET được dùng để đọc dữ liệu, POST được dùng để gửi nó đi.

Hãy thay đổi tiêu đề bài viết., bằng cách gửi yêu cầu POST với chứng thực. Thay đổi sẽ được chia sẽ bằng cách sử dụng cờ d tại cuối mỗi lệnh. Bạn sẽ chuyển một đối tượng JavaScript với biết title thành một giá trị khác, như là My New Title, như lệnh bên dưới:

curl -X POST --user username:password http://yourdomain.com/wp-json/wp/v2/posts/<ID> -d '{"title":"My New Title"}'

Lời kết

WordPress REST API là một phần mạnh mẽ của lõi WordPress, một số lập trình viên đã tìm hiểu kỹ về khả năng của nó. Kết quả nếu bạn bắt đầu tìm hiểu sớm và học cách làm việc với nó có thể khiến bạn trở thành một lập trình có nhiều lợi thế hơn, và giúp bạn tạo những ứng dụng sử dụng WordPress làm framework.

Để tổng kết, đây là năm bước đầu tiên cần học để tương tác với WordPress REST API:

  1. Làm quen khái niệm của REST API.
  2. Tìm hiểu những REST API endpoints hữu dụng nhất.
  3. Học cách cơ bản của chứng thực qua REST API .
  4. Chọn bài post đầu tiên của WordPress REST API.
  5. Cập nhật bài viết WordPress với REST API.

Bạn có điều gì muốn hỏi về WordPress REST API không? Hãy cho chúng tôi biết bằng cách để lại bình luận bên dưới!

Author
Tác giả

Hai G.

Hải G. là chuyên gia quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho các bạn trẻ khởi nghiệp.