Việc bổ sung WordPress REST API đã biến WordPress thành một Framework đầy đủ tính năng. Điều này làm tăng đáng kể khả năng mở rộngvới các tính năng và khả năng mới. Thêm vào đó, nó đã mở rộng tiềm năng của nền tảng để giao tiếp với các trang web và ứng dụng khác.
Hãy cùng BKHOST tìm hiểu về WordPress REST API và cách bắt đầu triển khai nó ở bài viết dưới đây.
WordPress REST API là gì?
WordPress REST API là một giao diện cho phép các nhà phát triển có thể tạo các trang web và ứng dụng tương tác bằng JavaScript. Trong đó, REST – Representational State Transfer là một hình thức chuyển trạng thái trình bày còn API là giao diện lập trình ứng dụng.
API là gì?
API – Application Programming Interface là giao diện lập trình ứng dụng cho phép các hệ thống có thể tương tác với nhau một cách dễ dàng. Chẳng hạn như khi thêm ứng dụng Google Map vào WordPress thì đồng nghĩa với việc bạn đã cho phép trang web và API tương tác trên Google Maps.
Mỗi WordPress có nhiều API cung cấp cho Plugin, cài đặt và các đoạn mã ngắn được các nhà phát triển sử dụng để tương tác với WordPress core. Ngoài ra, API REST còn cho phép các hệ thống bên ngoài bản cài đặt WordPress tương tác với máy chủ một cách linh hoạt.
REST là gì?
REST – Representational State Transfer là tập hợp các hướng dẫn mà hệ thống web có thể sử dụng để giao tiếp với nhau. Tức là REST sẽ cung cấp các thông tin để hai hệ thống có thể hiểu và truyền dữ liệu cho nhau.
Một số ràng buộc liên quan đến các trang web và ứng dụng. Ngoài ra, có còn chi phối các ứng dụng có thể giao tiếp với API. Trong đó, RESTful API là các API hoạt động tuân theo các quy tắc của REST. Cụ thể các quy tắc bao gồm:
- Cần thống nhất các địa chỉ URL được sử dụng để truy cập các tài nguyên trong hệ thống.
- Kiến trúc Client-Server cần được phân tách để hoạt có thể hoạt động một cách độc lập.
- Máy chủ không thay đổi trạng thái khi có một yêu cầu được thực hiện bằng API và không lưu trữ các yêu cầu đó.
- Các tài nguyên cần được lưu trữ trong bộ nhớ đệm để cải thiện tốc độ và tuân thủ tiêu chuẩn web.
- Hệ thống RESTful có thể truy cập bằng cách sử dụng nhiều lớp khác nhau và lưu trữ dữ liệu trong các máy chủ trung gian.
Ý nghĩa của REST và API đối với WordPress?
REST và API đều giống như bộ mã được thiết kế để hỗ trợ các hệ thống có thể giao tiếp với WordPress thông qua các hướng dẫn cụ thể. Hiểu đơn giản thì REST và API là một trang web của bên thứ ba hoặc ứng dụng di động bất kỳ có thể truy cập vào cơ sở dữ liệu WordPress để tìm nạp các dữ liệu.
Tìm hiểu thêm về WordPress REST API
WordPress REST API là một công cụ hỗ trợ cho các thay đổi trong quá trình phát triển trang web, ứng dụng và WordPress mở rộng.
Nền tảng cho WordPress REST API
Tháng 12 năm 2016, REST API của WordPress được triển khai và là thành phần chính trong phiên bản 4.7 hoạt động giống như một Plugin. Nó được triển khai để hỗ trợ các ứng dụng được xây dựng trên WordPress và chuyển đổi WordPress từ hệ thống quản lý nội dung sang nền tảng ứng dụng.
WordPress.com sử dụng REST API dựa trên JavaScript để giao tiếp với cơ sở dữ liệu WordPress. Ngoài ra, Gutenberg Editing Interface cũng sử dụng API REST và trở thành một trong những yếu tố chính vào năm 2019.
Một số nền tảng khác cũng sử dụng REST API để cung cấp tài nguyên cho các ứng dụng trang web hoặc SPA dựa trên web. Trong đó, các nội dung sẽ được làm mới thay vì tải lại các trang mỗi khi người dùng truy cập hay thực hiện các thao tác bất kỳ nào.
Ý nghĩa của WordPress REST API đối với người dùng và nhà phát triển
REST API có một số ưu điểm vượt trội dành cho người dùng và các nhà phát triển WordPress bao gồm:
Đối với người dùng:
- Cho phép thay đổi giao diện và các tính năng chỉnh sửa Gutenberg.
- Hỗ trợ thay đổi và cải tiến các ứng dụng trên thiết bị di động WordPress.
- Màn hình WordPress Admin tự lưu trữ giống với màn hình WordPress.com.
Đối với các nhà phát triển:
- Hỗ trợ triển khai các SPA bằng REST API.
- Tích hợp WordPress với các công nghệ và hệ thống giao diện người dùng khác.
- Phù hợp với nhà phát triển giao diện người dùng không viết PHP.
- Cung cấp cho các nhà phát triển PHP các tính năng mở rộng như JavaScript.
- Cho phép thay đổi và xây dựng các Gutenberg block thay vì các meta boxe trong màn hình chỉnh sửa trang và bài đăng.
Cách truy cập WordPress REST API
Truy cập vào trang web bằng dòng lệnh WP-CLI và không thực hiện bất cứ thao tác nào trên màn hình quản trị viên hoặc truy cập trực tiếp vào mã trên trang web.
Truy cập WP-REST qua WP-CLI
WP-CLI là giao diện dòng lệnh được cài đặt sẵn cho phép truy cập và thực thi các công việc trên máy tính. Để truy cập CLI hãy mở Terminal trên máy Mac, Linux hoặc Command Prompt trong Windows.
Truy cập trang web từ xa bằng cách SSH đến máy chủ thông qua dòng lệnh WP-CLI. Để truy cập trang web cục bộ có thể sử dụng cấu trúc thư mục chính xác từ dòng lệnh. Hoặc có thể thao tác với REST API trên trang web thử nghiệm trước khi thực hiện trên trang web chính thức.
Đầu tiên, người dùng truy cập vào REST API trên trang web bằng link http://yoursite.com/wp-json/wp/v2
, sau đó bổ sung các phần tử để truy cập vào một số dữ liệu nhất định.
Xác thực
Sau khi truy cập vào trang web, người dùng cần thực hiện các bước xác thực ở các điểm khác nhau.
Sử dụng WP-CLI để xác thực trang web bằng cách cài đặt một Plugin xác thực. Ngoài ra, Plugin Basic Auth thực hiện công việc hiệu quả hơn với các cài đặt phát triển.
Đối với các trang web trực tiếp có thể sử dụng hình thức xác thực mạnh hơn như Plugin JWT Authentication hay JSON Web Token.
Sử dụng dòng lệnh để truy cập dữ liệu và các xác thực.
Ví dụ: Sử dụng lệnh Curl để kiểm tra kết nối với WordPress, nó sẽ cho ra danh sách các bài viết nháp:
{{EJS0}}
Trong đó, các bài viết nháp này không được công khai nên người dùng cần xác thực để có thể truy cập. Tuy nhiên, nếu như người dùng tìm kiếm các dữ liệu công khai thì có thể bỏ qua bước xác thực này. Do đó, để truy xuất danh sách các bài viết được xuất bản công khai hãy sử dụng:
{{EJS1}}
Tổng quan về lệnh WordPress REST API
Sau khi truy cập vào trang web và thực hiện các bước xác thực hãy sử dụng các lệnh để bắt đầu tương tác với trang web đó. Cụ thể các lệnh như sau:
- GET có nhiệm vụ lấy một tài nguyên như một bài viết hoặc một số dữ liệu từ máy chủ.
- POST ở máy khách có nhiệm vụ thêm các tài nguyên như bài viết hay các tệp đính kèm vào máy chủ.
- PUT được sử dụng để chỉnh sửa hoặc thực hiện cập nhật các tài nguyên có sẵn trên máy chủ.
- DELETE có khả năng xóa tài nguyên khỏi máy chủ một cách an toàn.
GET
Lệnh GET được sử dụng để lấy dữ liệu từ máy chủ. Chẳng hạn như để tìm nạp danh sách của các trang đã xuất bản, sử dụng lệnh WP-CLI không bao gồm đường dẫn hoàn chỉnh:
{{EJS2}}
Sau khi truy xuất dữ liệu, dòng lệnh này sẽ thông báo cho bước tiếp theo và người dùng có thể thực hiện một vài thao tác như xóa, chỉnh sửa hoặc cập nhật các bài viết trên ứng dụng web. Hoặc để tải bài viết mới nhất, sử dụng lệnh:
{{EJS3}}
POST
Lệnh POST được sử dụng để bổ sung các dữ liệu hoặc tài nguyên mới vào trang web. Chẳng hạn như muốn tạo một bài viết, hãy bắt đầu bằng lệnh POST để tạo một bài viết nháp mới:
{{EJS4}}
Sau khi bài viết nháp được tạo, hãy cập nhật bài viết bằng cách sử dụng lệnh PUT để chỉnh sửa bài viết đó. Ngoài ra, lệnh POST còn cho phép thêm các tài nguyên khác ngoài bài viết như tệp đính kèm hoặc một số bài đăng bất kỳ.
Để thêm một trang vào trang web, hãy sử dụng lệnh sau đây để tạo ra một trang mới tương tự như cách tạo bài viết mới:
{{EJS5}}
PUT
Lệnh PUT được sử dụng để chỉnh sửa các tài nguyên hiện có trên máy chủ. Chẳng hạn như để kiểm tra và cập nhật một số bài viết nháp trên trang web, hãy xuất bản chúng bằng cách tìm nạp danh sách tất cả các bài viết nháp:
{{EJS6}}
Sau đó, hệ thống sẽ gửi về một danh sách tất cả các bài viết nhấp hiện tại và cho phép chỉnh sửa một số bài viết cụ thể bằng cách sử dụng ID của nó:
{{EJS7}}
Tiếp theo, để chỉnh sửa bài viết có thể sử dụng các dòng lệnh như sau:
{{EJS8}}
Hoặc có thể thêm nội dung vào bài viết và xuất bản nó:
{{EJS9}}
Cuối cùng, máy chủ sẽ trả về trạng thái 200 - OK
cho bạn biết yêu cầu PUT đã chỉnh sửa thành công bài viết.
DELETE
Lệnh DELETE được sử dụng để xóa vĩnh viễn một tài nguyên bất kỳ trên máy chủ. Nếu như muốn chuyển bài viết vào thùng rác thay vì bị xóa vĩnh viễn, hãy sử dụng lệnh:
{{EJS10}}
Để xóa vĩnh viễn bài viết hãy sử dụng đối số force
:
{{EJS11}}
Khi nào không sử dụng WordPress REST API?
WordPress REST API mặc dù có những tính năng ưu việt và trở thành sự lựa chọn tuyệt vời của người dùng và các nhà phát triển. Tuy nhiên, nó vẫn có một số vấn đề chưa thực sự khả thi để phát triển trang web hoặc ứng dụng. Cụ thể như sau:
Khả năng tương thích
Đối với các ứng dụng không phổ biến trên các thiết bị không hỗ trợ hoặc bị tắt JavaScript thì chúng cũng không thể chạy khi người dùng sử dụng REST API. Tuy nhiên, điều này không ảnh hưởng đến WordPress site được mã hóa bằng PHP và xuất ra HTML.
Khả năng tiếp cận
Các trang web hoặc ứng dụng được triển khai dựa trên JavaScript đôi khi không thể truy cập được như các trang web và các ứng dụng được xuất bằng HTML. Điều này có thể do cách JavaScript cung cấp các nội dung động không tương thích với trình đọc của màn hình. Vì thế, nó gây ra các vấn đề cho những người dùng khiếm thị hay người dùng có thần kinh cảm quang không tốt.
Sử dụng WordPress REST API để truy cập và xuất dữ liệu dưới dạng thiết kế để có thể truy cập dễ dàng hơn. Tuy nhiên, cần kiểm tra trang web để xem xét khả năng truy cập trong quá trình phát triển. Do đó, việc lựa chọn JavaScript hay HTML sẽ phụ thuộc vào mức độ phù hợp của trang web và ứng dụng trên WordPress.
SEO
Các ứng dụng Single Page hay thường xuyên làm mới có thể là nguyên nhân gây ra các vấn đề về SEO khiến cho nội dung không thể phân phối khi trang được xuất lần đầu tiên. Google và các công cụ tìm kiếm hiện đang trở thành xu hướng của các trang web được cung cấp bởi SPA và có lập chỉ mục khá cao.
Cách tắt WordPress REST API
Khi tắt WordPress REST API, các ứng dụng sẽ không thể truy cập dữ liệu từ trang web bằng REST API. Tuy nhiên, đối với các dữ liệu công khai sẽ được truy cập bởi tất cả mọi người. Để tắt WordPress REST API, trước tiên hãy cài đặt Plugin Disable WP REST API để vô hiệu hóa API REST đối với những người dùng chưa truy cập vào trang web.
Sử dụng hai dòng lệnh sau để thêm một số mã vào tệp chức năng của chủ đề hoặc viết một Plugin cá nhân:
{{EJS12}}
Sau đó, REST API sẽ bị vô hiệu hóa hoàn toàn và nó sẽ có các hiệu ứng độc lập cho màn hình quản trị.
Các ứng dụng sử dụng WordPress REST API
REST API cung cấp các tính năng trong tương lai cho WordPress. Có rất nhiều ứng dụng và trang web đều lựa chọn WordPress REST API để tạo các SPA hoặc để liên kết WordPress với các trang web và công nghệ khác. Cụ thể như sau:
WordPress.com
Màn hình WordPress.com Admin được triển khai dựa trên REST API để cung cấp một SPA cho phép người dùng tương tác có thể quản lý trang web của họ. Điều này tạo điều kiện cho các máy chủ và giao diện có thể giao tiếp dễ dàng hơn và thân thiện với người dùng hơn.
The Block Editor (Gutenberg)
Trong màn hình WordPress.com Admin, WordPress tự lưu trữ và chỉnh sửa Block Editor dựa trên REST API để giao tiếp với cơ sở dữ liệu và tạo các khối dễ dàng hơn. Đối với một số loại bài viết hoạt động với trình Gutenberg Editor yêu cầu bật REST API. Tức là người dùng sẽ phải đăng ký một loại bài viết tùy chỉnh và sử dụng Gutenberg, sau đó thêm các dòng lệnh sau để bật trình Block Editor:
{{EJS13}}
Event Espresso
Event Espresso là một Plugin WordPress hỗ trợ tổ chức và công khai các sự kiện bằng cách sử dụng REST API cho phép người dùng có thể truy cập dữ liệu của nó từ bên ngoài WordPress. Tức là người dùng có thể triển khai các ứng dụng di động hoặc SPA để quản lý các sự kiện của mình.
UsTwo
UsTwo là một đại lý kỹ thuật số có trang web được xây dựng bằng REST API làm ứng dụng Single Page. Ngoài ra, UsTwo được tích hợp với giao diện người dùng dựa trên React với các phần hỗ trợ được cung cấp bởi WordPress.
Nội dung của Single Page là mô đun với các cấu trúc khác với một trang WordPress tiêu chuẩn. Để làm được điều này, UsTwo đã sử dụng một plugin trình tạo trang tùy chỉnh cho phép nhóm của họ có thể thêm nội dung mô-đun vào trang web.
USA Today
Trang web của USA Today được triển khai dựa trên WordPress REST API được tích hợp với các hệ thống và mô-đun hiện có trong trang web. Ngoài ra, REST API còn cho phép nội dung trang web di chuyển sang các nền tảng khác như Facebook Instant Articles và Apple News và JSON được xây dựng bằng JavaScript.
Tổng kết về WordPress REST API
WordPress REST API với những ưu điểm vượt trội là nền tảng dành cho người dùng và nhà phát triển. Một công cụ hỗ trợ triển khai và xây dựng các trang web và ứng dụng tương tác bằng JavaScript. Hy vọng bài viết này đem đến những thông tin hữu ích cho bạn đọc.
Nếu bạn có thắc mắc về WordPress REST API hoặc muốn tìm hiểu thêm về WordPress, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.
- wordpress json rest api
- wordpress rest api
- wordpress api