1. /search
Truy vấn chính dùng để tìm kiếm bài viết theo từ khóa.
- Phương thức: GET
- Tham số:
term=keyword - Mô tả: Trả về kết quả theo tiêu đề hoặc nội dung, tùy theo cấu hình plugin.
2. /id/{id}
Lấy permalink bài viết theo ID.
- Phương thức: GET
- Tham số: ID hợp lệ của bài viết
- Mô tả: Nếu bài viết tồn tại, sẽ redirect về permalink tương ứng.
3. /recent
Lấy danh sách bài viết mới nhất.
- Phương thức: GET
- Tham số: Không
- Mô tả: Trả về bài viết theo cấu hình post type, giới hạn và ảnh mặc định.
4. /date?value=YYYY, YYYY/MM, YYYY/MM/DD
Tìm bài viết theo năm, tháng, ngày.
- Phương thức: GET
- Tham số:
valuetheo định dạng linh hoạt - Mô tả: Hỗ trợ lọc theo năm, tháng hoặc ngày, có thể dùng với slash command
/date.
5. /tax?taxonomy=category&term=slug
Lọc bài viết theo taxonomy bất kỳ.
- Phương thức: GET
- Tham số:
taxonomy,term(slug hoặc ID) - Mô tả: Hỗ trợ cả category, tag và custom taxonomy.
6. /related?title=post-title&exclude=ID
Lấy bài viết liên quan đến tiêu đề hiện tại.
- Phương thức: GET
- Tham số:
title(bắt buộc),exclude(tùy chọn) - Mô tả: Dùng để tạo gợi ý nội dung tương tự dựa trên tiêu đề trang.
7. /read?ids=1,2,3
Trả về dữ liệu bài viết dựa trên danh sách ID lưu trong localStorage.
- Phương thức: GET
- Tham số:
idslà danh sách ID phân cách bằng dấu phẩy - Mô tả: Kết hợp tốt với plugin Init Reading Position để hiển thị bài đã đọc.
8. /random
Lấy một bài viết ngẫu nhiên.
- Phương thức: GET
- Tham số: Không
- Mô tả: Trả về permalink ngẫu nhiên và chuyển hướng trực tiếp.
9. /taxonomies?taxonomy=category
Lấy danh sách term phổ biến của taxonomy.
- Phương thức: GET
- Tham số:
taxonomylà tên taxonomy cần lấy - Mô tả: Trả về mảng term sắp xếp theo
count, có hỗ trợ cache TTL.
10. /product
Lấy danh sách sản phẩm WooCommerce theo nhiều điều kiện lọc nâng cao.
- Phương thức: GET
- Tham số hỗ trợ:
term: Từ khóa tìm kiếm (tìm theo tên sản phẩm)sku: Mã sản phẩm (có thể tìm một phần)on_sale=1: Chỉ lấy sản phẩm đang giảm giáin_stock=1: Chỉ lấy sản phẩm còn hàngmin_pricevàmax_price: Lọc theo khoảng giá (số thực)page: Phân trang (số nguyên, mặc định là 1)
- Hỗ trợ slash command:
/product,/on-sale,/stock,/sku,/price - Kết quả trả về:
- Tiêu đề sản phẩm, đường dẫn (URL)
- Giá hiện tại, có giảm giá hay không
- Trạng thái tồn kho
- Thumbnail sản phẩm
- Danh mục chính (nếu có)
add_to_cart_urlđể thêm nhanh vào giỏ hàng
- Caching: Kết quả được lưu cache theo từng truy vấn trong 5 phút.
Ví dụ:
/product?page=1&on_sale=1&in_stock=1&sku=ABC&min_price=100&max_price=500
Truy vấn trên sẽ trả về các sản phẩm có mã SKU chứa “ABC”, đang giảm giá, còn hàng, và nằm trong khoảng giá từ 100 đến 500.
Kết luận
Toàn bộ hệ thống REST API trong Init Live Search đều được tối ưu hiệu năng, dễ dàng tích hợp với frontend tùy chỉnh, app headless hoặc các plugin khác. Nếu bạn đang tìm một giải pháp tìm kiếm có thể mở rộng tốt và cache-friendly, đây chính là lựa chọn lý tưởng.
Bình luận