Init Live Search giải quyết vấn đề này với hệ thống REST API chuẩn hóa, trả JSON sẵn sàng để fetch từ bất kỳ frontend nào.
1. Tại sao Init Live Search phù hợp với Headless / Static Site?
- Hoạt động 100% qua WordPress REST API.
- Viết bằng JavaScript thuần (không jQuery).
- Kết quả trả về là JSON có cấu trúc chuẩn:
title,type,url,thumb,date,excerpt,category… - Dễ dàng fetch từ Next.js, Nuxt, Astro, Vue, React, mobile app, PWA v.v.
2. Cách fetch API tìm kiếm cơ bản
fetch('https://example.com/wp-json/initlise/v1/search?term=manga')
.then(res => res.json())
.then(data => console.log(data));
Các tham số có thể sử dụng:
term: từ khóa cần tìmexclude: ID cần loại trừ khỏi kết quảpage: phân trang (số nguyên, mặc định là 1)post_types: danh sách post type (mặc định do plugin quy định)- Giới hạn kết quả, fallback, v.v. được cấu hình trong admin
3. Gọi slash command từ frontend bất kỳ
fetch('https://example.com/wp-json/initlise/v1/recent')
.then(res => res.json())
.then(data => renderSearchResults(data));
Bạn có thể fetch các command khác như:
/date?value=2024/05/related?title=Tiêu đề trang&exclude=123/random,/read?ids=1,2,3/product?on_sale=1&min_price=100
Rất linh hoạt cho SPA hoặc app headless.
4. Kết quả trả về dễ render
Mỗi bản ghi thường có cấu trúc:
{
title: "Tiêu đề bài viết",
type: "Post",
url: "https://...",
thumb: "https://...",
date: "2024-05-23",
excerpt: "...",
category: "Tin tức"
}
Bạn có thể dùng vòng lặp JavaScript để render trên bất kỳ UI framework nào như React, Vue, Svelte…
5. Cache & Bảo mật
- Plugin đã có sẵn cache nội bộ 5 phút bằng
wp_cachecho mỗi endpoint. - Có thể tăng tốc thêm bằng cách cache public API (recent, popular…) qua Cloudflare Cache Rules.
- Với nội dung private hoặc draft, nên gọi qua proxy backend riêng để đảm bảo bảo mật.
6. Danh sách endpoint phổ biến
/search?term=keyword/id/{id}/recent/date?value=YYYY/MM/tax?taxonomy=category&term=slug/related?title=abc/read?ids=1,2,3/random/taxonomies?taxonomy=category/product?on_sale=1
Kết luận
Init Live Search không chỉ là plugin cho WordPress frontend, mà còn là search API engine hoàn chỉnh cho mọi loại giao diện headless. Triển khai nhanh, giao tiếp mở, REST-first và dễ hook với backend hiện có.
Nếu bạn đang xây dựng website headless hoặc static, hãy coi Init Live Search như một REST-powered module để tích hợp tìm kiếm nhanh gọn và thông minh.
Bình luận