Viết blog WordPress với… Blazor!
Vâng, tôi không bị điên. 100% có thể thay thế chủ đề WordPress của bạn bằng ứng dụng Blazor Webassembly .
Làm sao? Chà, thực ra không khó lắm đâu. Đã lâu rồi kể từ khi WordPress bắt đầu tiết lộ một API REST khá đẹp . Bản nháp đầu tiên đã được thêm vào với phiên bản 4.4 , nhưng với phiên bản 4.7 , nó đã có đầy đủ động lực.
Bản thân API chắc chắn dễ sử dụng. Điểm cuối cơ sở trông giống như ” yourite.com/wp-json/wp/v2 “.
Từ đó bạn có thể bắt đầu quản lý các bài đăng , người dùng , bình luận … mà bạn đã nắm được ý tưởng.
Điều này mở ra cánh cửa cho một loạt các tình huống, ví dụ, chúng ta có thể sử dụng WordPress như một CMS không đầu và viết nhiều giao diện người dùng dựa trên nhu cầu của chúng ta. Ứng dụng di động, SPA, PWA, v.v.
Để giới thiệu mức độ dễ dàng, hãy xem cách chúng ta có thể nhanh chóng viết một ứng dụng blog giao diện người dùng bằng Blazor .
Bây giờ, CORS sẽ được bật theo mặc định. Nếu không, một tìm kiếm nhanh trên google sẽ cho bạn câu trả lời . Vì lợi ích của bài tập, hãy giả sử như vậy, vì vậy chúng ta có thể sử dụng Blazor ở chế độ Webassembly một cách an toàn .
Khi chúng tôi đã tạo xong dự án của mình, bước tiếp theo là thêm một tham chiếu vào thư viện WordPressPCL Nuget. Đó là một dự án tiện dụng, sẽ giúp chúng tôi tiết kiệm thời gian để tự viết ứng dụng API.
Sau khi nó được cài đặt, chúng tôi có thể đăng ký ứng dụng khách trên Gốc Thành phần trong tệp Program.cs :
var wpApiEndpoint = builder.Configuration["WP_Endpoint"];
var client = new WordPressClient(wpApiEndpoint);
builder.Services.AddSingleton(client);
Bây giờ, về cơ bản chúng ta đã hoàn thành! Mỗi khi chúng ta muốn, ví dụ, đọc bài đăng hoặc bất cứ thứ gì, tất cả những gì chúng ta phải làm là đưa vào phiên bản WordPressClient và sử dụng nó:
var postsQuery = new PostsQueryBuilder()
{
Page = 1,
PerPage = 10,
Order = Order.DESC,
OrderBy = PostsOrderBy.Date
};
var posts = await WPClient.Posts.Query(postsQuery);
Tôi đã tạo một repo nhỏ trên GitHub như thường lệ với một số ví dụ hữu ích. Tôi cũng đã thêm một đường dẫn Hành động GitHub sẽ triển khai mã cho các Trang GitHub , vì vậy bạn có thể thấy nó trông như thế nào.
Để có hướng dẫn chi tiết về cách lưu trữ ứng dụng Blazor Webassembly trên Trang GitHub, bạn có thể xem bài đăng trước của tôi .
Hẹn gặp lại sau!