Init Live Search – Plugin tìm kiếm nhanh, nhẹ và thông minh cho WordPress

Phiên bản: 1.8.9 English version

Init Live Search – Plugin tìm kiếm nhanh, nhẹ và thông minh cho WordPress
Init Live Search là plugin tìm kiếm trực tiếp (live search) cho WordPress được thiết kế với tiêu chí nhanh, nhẹ, dễ dùngtối ưu hiệu năng. Plugin sử dụng Vanilla JavaScript kết hợp REST API của WordPress để mang lại trải nghiệm tìm kiếm mượt mà, không cần tải lại trang.

Các phiên bản 1.7.x và 1.8.x đánh dấu bước nhảy vọt mới: từ tìm kiếm thông minh sang tìm kiếm liên site. Init Live Search giờ đã sẵn sàng hoạt động như một công cụ tìm kiếm toàn hệ sinh thái WordPress của bạn — không chỉ nhanh, mà còn xuyên không gian mạng.

Xem demo trực tiếp: https://youtu.be/nZocaTpi2hM

Có gì mới trong phiên bản 1.7.x & 1.8.x

Phiên bản này tập trung mở rộng phạm vi hoạt động của Init Live Search ra ngoài site hiện tại, đồng thời tối ưu logic để sẵn sàng tích hợp trên mọi theme, kể cả hệ thống headless hoặc SPA.

  • 404 Smart Redirect: Tự động chuyển hướng trang 404 sang bài viết liên quan nhất dựa trên thuật toán Init Live Search — hỗ trợ nhiều post type, an toàn SEO và sử dụng resolver thống nhất.
  • Multi-site Search: Cho phép tìm kiếm đồng thời trên nhiều website WordPress — nhập danh sách URL trong phần cài đặt là chạy được ngay.
  • Tích hợp không cần plugin phụ: Tự động gọi REST API từ các site được khai báo — không cần cài plugin ở các site con.
  • Hiển thị domain kết quả: Mỗi kết quả tìm kiếm đều hiển thị domain nguồn rõ ràng — minh bạch, dễ quản lý.
  • Tối ưu hiệu suất: Chỉ gọi API khi cần, không ảnh hưởng tốc độ site chính — sẵn sàng cho hệ thống lớn.
  • Config đơn giản & an toàn: Cấu hình bằng textarea, định dạng Tên Site|URL — dữ liệu được sanitize và xử lý qua JS nội bộ.
  • Chế độ không giới hạn: Dễ dàng biến Init Live Search thành một công cụ tìm kiếm tổng hợp cho mạng lưới nhiều site.
  • Shortcode mới: Thêm [init_live_search] để nhúng biểu tượng tìm kiếm hoặc ô nhập ở bất kỳ đâu trong giao diện.
  • Tùy biến nâng cao: Shortcode hỗ trợ các thuộc tính như type, label, class, stroke_width, v.v — linh hoạt cho mọi layout.
  • Toán tử + / -: Hỗ trợ tìm kiếm chính xác hơn bằng +keyword (bắt buộc có) và -keyword (loại trừ).
  • Shortcode liên quan mới: Dùng [init_live_search_related_posts] để hiển thị danh sách bài viết liên quan dạng HTML tĩnh, tối ưu SEO.
  • Shortcode Builder: Giao diện trực quan giúp tạo shortcode [init_live_search][init_live_search_related_posts] nhanh chóng — hỗ trợ xem trước và sao chép ngay trong admin.
  • Hỗ trợ dark mode trực tiếp: Có thể gán class .dark vào phần tử chứa shortcode — không phụ thuộc class trên body.
  • Mở rộng WooCommerce: Bổ sung slash command mới như /brand, /attribute, /variation, /coupon và nâng cấp /price với sắp xếp theo giá.
  • AI Related Posts: Shortcode mới [init_live_search_related_ai] sử dụng thuật toán đa tín hiệu (tag, series, ACF, views, freshness…) để gợi ý bài viết thông minh hơn.
  • Keyword Engine nâng cấp: Thay TF-IDF bằng BM25 + NPMI + LLR cho gợi ý từ khóa chất lượng cao, tập trung bigram, Unicode-safe và có fallback thông minh.
  • Developer Filters: Thêm loạt filter mới (ai_candidates, ai_signals, ai_weights, ai_score) cho phép tùy biến toàn diện logic AI.
  • Hiệu năng cải thiện: Thuật toán scoring được cache dữ liệu trước, giảm số lượng query lặp lại và tối ưu bộ nhớ cho dataset lớn.

Tính năng nổi bật

Hiệu năng cao, không phụ thuộc

Plugin được viết hoàn toàn bằng Vanilla JavaScript, không dùng jQuery hay thư viện ngoài. Mọi thao tác tìm kiếm đều thông qua WordPress REST API riêng với namespace chuẩn hóa (initlise/v1), kết hợp cơ chế debounce giúp giảm tải server khi người dùng gõ nhanh.

Hệ thống cache sử dụng localStorage để lưu kết quả tìm kiếm, lệnh slash command, danh sách yêu thích, và lịch sử đọc — tối ưu trải nghiệm và giảm số lần gọi API.

Tuỳ chỉnh UI linh hoạt

Giao diện tìm kiếm có thể chọn sẵn từ các preset như: toàn màn hình (style-full.css), thanh topbar (style-topbar.css), hoặc tắt toàn bộ CSS để tự viết lại. Bạn cũng có thể override CSS bằng file init-live-search/style.css trong theme hiện tại.

Từ khóa gợi ý thông minh

Người quản trị có thể nhập sẵn danh sách từ khóa gợi ý hoặc nhấn nút “Tạo tự động” để plugin phân tích tiêu đề bài viết. Hệ thống sẽ tự động loại bỏ stop words và gom từ khóa phổ biến nhất.

Điều hướng & thao tác bằng bàn phím

Plugin hỗ trợ điều hướng và thao tác toàn diện bằng bàn phím:

  • , : Di chuyển giữa kết quả
  • : Thêm bài viết hiện tại vào danh sách yêu thích
  • : Xoá bài viết khỏi danh sách yêu thích
  • Enter: Mở bài viết
  • Esc: Đóng modal tìm kiếm

Lưu ý: Phím trái/phải chỉ hoạt động khi đang chọn một kết quả cụ thể.

Hỗ trợ tìm kiếm nâng cao

Hệ thống slash command mạnh mẽ: tìm bài mới nhất (/recent), lọc theo tag, danh mục, sản phẩm WooCommerce, SKU, giá, trạng thái kho… Có thể mở rộng bằng REST API và filter riêng.

Hỗ trợ tìm kiếm trong các trường ACF và metadata từ plugin SEO như Yoast, Rank Math, AIOSEO, SEOPress, TSF — phù hợp với site nhiều nội dung nâng cao.

Tương thích tối đa & dễ tích hợp

Không cần chỉnh sửa theme hay thêm shortcode. Chỉ cần giữ trường <input name="s">, plugin sẽ tự động bắt sự kiện và mở modal tìm kiếm. Ngoài ra còn có thể kích hoạt qua HTML attribute, phím tắt, hoặc URL.

Responsive & hỗ trợ đa ngôn ngữ

Giao diện modal thân thiện với mọi kích thước màn hình. Plugin hỗ trợ sẵn tiếng Việt và tiếng Anh, tự động đổi theo ngôn ngữ site.

Cấu hình đơn giản

Giao diện cài đặt của Init Live Search được thiết kế đơn giản, dễ hiểu, cho phép tùy chỉnh mọi khía cạnh của quá trình tìm kiếm:

  • Chọn post type để tìm kiếm: post, page, hoặc bất kỳ custom post type nào có public=true
  • Chọn một hoặc nhiều cách mở modal tìm kiếm: focus vào input[name=”s”], triple-click, hoặc tổ hợp Ctrl/Cmd + /
  • Tuỳ chọn bật/tắt Slash Command — hỗ trợ các lệnh như /recent, /tag, /product,…
  • Đặt lệnh slash mặc định chạy tự động khi modal mở — ví dụ: /recent hoặc /product
  • Chọn chế độ tìm kiếm: chỉ tiêu đề, tiêu đề + excerpt, tiêu đề + nội dung, hoặc kết hợp với post tag (Init Smart Tag-Aware Search)
  • Nhập danh sách ACF field key để tìm kiếm nâng cao — ví dụ: company_name, project_code
  • Bật tìm kiếm trong SEO Metadata: hỗ trợ các plugin Yoast, Rank Math, AIOSEO, TSF, SEOPress
  • Hệ thống từ đồng nghĩa: Cấu hình trực tiếp trong tab “Synonyms” — thêm từ đồng nghĩa bằng JSON, kiểm tra lỗi theo thời gian thực và bật/tắt tính năng mở rộng kết quả khi tìm không ra.
  • Bật fallback thông minh: tự động rút gọn từ khoá, ghép cụm bigram nếu không đủ kết quả
  • Tuỳ chỉnh độ trễ tìm kiếm (debounce) từ 100–3000ms để kiểm soát hiệu năng
  • Giới hạn số lượng kết quả hiển thị trong modal (1–100)
  • Giới hạn số từ được chọn để kích hoạt Quick Search bằng tooltip (0–20, đặt 0 để tắt)
  • Bật/tắt voice input (SpeechRecognition API) nếu muốn dùng micro
  • Tuỳ chọn bật voice input nếu muốn dùng micro (SpeechRecognition API)
  • Chọn preset giao diện: modal mặc định, toàn màn hình, hoặc thanh topbar. Cũng có thể tắt toàn bộ CSS để tự viết lại.
  • Tuỳ chọn thêm UTM mặc định vào URL kết quả (ví dụ: utm_source=search)
  • Nhập hoặc tự động tạo danh sách từ khoá gợi ý mặc định

Công nghệ sử dụng

Plugin ưu tiên hiệu suất và khả năng mở rộng với kiến trúc hiện đại, tách biệt rõ frontend và backend.

  • Vanilla JavaScript: Toàn bộ logic frontend viết bằng JavaScript thuần, không dùng jQuery hay framework
  • Custom REST API: Giao tiếp qua các endpoint chuẩn hoá thuộc namespace riêng initlise/v1
  • Modular architecture: Toàn bộ mã nguồn JS được tách rõ theo từng chức năng: trigger, command, render, API, v.v.
  • Không phụ thuộc bên ngoài: Không dùng thư viện bên thứ ba — tất cả đều built-in
  • Biểu tượng & ảnh: Dùng SVG trực tiếp hoặc ảnh fallback mặc định (qua filter)
  • Cấu hình toàn cục: Định nghĩa thông qua biến window.InitPluginSuiteLiveSearchConfig
  • Hỗ trợ theme override: Có thể ghi đè toàn bộ style bằng file init-live-search/style.css trong theme
  • localStorage-first: Dùng localStorage cho cache, slash command history, favorites, và session-state

Mã nguồn & Phát triển

Plugin Init Live Search được phát triển dưới dạng mã nguồn mở và duy trì thường xuyên trên GitHub. Đây là nơi bạn có thể theo dõi tiến độ phát triển, cập nhật sớm, hoặc đóng góp ý tưởng, báo lỗi và đề xuất tính năng mới.

  • Repo chính thức: github.com/brokensmile2103/init-live-search
  • Hãy nhấn Star để ủng hộ plugin – giúp tăng độ hiển thị trong cộng đồng mã nguồn mở.
  • Góp ý, báo lỗi hoặc đề xuất thêm tính năng qua tab Issues của repo.

Cài đặt và sử dụng

  1. Cài đặt và kích hoạt plugin như các plugin thông thường.
  2. Plugin tự động hoạt động trên các trường <input name="s">.
  3. Bạn có thể mở modal tìm kiếm bằng Ctrl + / hoặc nhấp 3 lần trên vùng trống bất kỳ.
  4. Cấu hình từ khóa gợi ý tại Cài đặt → Init Live Search.

Dành cho Developer

Plugin Init Live Search được thiết kế với định hướng mở rộng tối đa: hỗ trợ filter, sự kiện JavaScript, tùy biến giao diện, REST API riêng và command system linh hoạt.

Nếu bạn là developer muốn tích hợp sâu hơn vào theme/plugin của mình, hãy xem series Init Live Search toàn tập – nơi tổng hợp toàn bộ hướng dẫn từ cơ bản đến nâng cao.

Góp ý & Liên hệ

Bạn có góp ý, phát hiện lỗi hoặc muốn đề xuất tính năng mới? Hãy để lại bình luận bên dưới hoặc tạo issue trên GitHub. Đừng ngại! Mọi phản hồi từ bạn sẽ giúp Init Live Search ngày càng tốt hơn.

Đánh giá

5.0/5 (15)

Changelog

  • 1.8.9 – Keyword Generator v3
    • Hỗ trợ trigram (cụm 3 từ) bên cạnh bigram, giúp gợi ý từ khóa cụ thể và phong phú hơn
    • Sửa lỗi tính toán NPMI: thống nhất base xác suất về token count, loại bỏ tình trạng inflate điểm sai
    • Thêm cross-document frequency penalty: hạ điểm các cụm từ xuất hiện ở hơn 60% bài viết để tránh từ khóa quá chung chung
    • Thay thế random shuffle bằng MMR (Maximal Marginal Relevance): 15 từ khóa đầu ra vừa điểm cao vừa đa dạng, không trùng lặp ý nghĩa
    • Mở rộng danh sách stop words cho cả tiếng Việt và tiếng Anh, bổ sung các từ filler phổ biến trong tiêu đề bài viết
    • Bỏ excerpt khỏi nguồn dữ liệu, chỉ dùng title — tín hiệu sạch hơn, ổn định trên mọi loại site
  • 1.8.8 – Chế độ tìm kiếm WP_Query thuần
    • Thêm tùy chọn “Dùng tìm kiếm mặc định của WordPress?” để bỏ qua toàn bộ logic tìm kiếm tùy chỉnh
    • Khi bật, tìm kiếm được xử lý hoàn toàn bởi tham số s của WP_Query
    • Tự động tương thích với các plugin tìm kiếm bên thứ ba (ví dụ: SearchWP, ElasticPress) có hook vào WP_Query
    • Các tùy chọn không tương thích (Search Mode, Fallback, Synonym, SEO Fields, ACF, Operators) tự động mờ đi và không thể tương tác khi bật chế độ này
    • Sanitize và lưu trữ use_native_search đúng chuẩn qua flow settings hiện có
  • 1.8.7 – 404 Smart Redirect & Resolver Integration
    • Thêm tuỳ chọn mới Auto Redirect 404 to Best Match:
      • Tự động redirect trang 404 sang bài viết liên quan nhất dựa trên thuật toán Init Live Search
      • Hoàn toàn an toàn SEO: chỉ redirect khi tìm được bài phù hợp, tránh loop
      • Không ảnh hưởng theme — có thể bật/tắt bằng 1 checkbox trong settings
    • Hỗ trợ nhiều post_type cho smart redirect:
      • Tuân thủ danh sách Post Types to Include trong cài đặt plugin
      • Không còn khóa cứng vào post, hoạt động tốt với custom post type
      • Chỉ redirect tới bài đã publish và thuộc nhóm post_type cho phép
    • Tích hợp sâu với resolver post type:
      • Redirect engine sử dụng init_plugin_suite_live_search_resolve_post_types() thống nhất
      • Tự động áp dụng filter init_plugin_suite_live_search_post_types
      • Cho phép theme/plugins ép thêm hoặc xoá post_type mà không cần đụng core
    • Nâng cao chất lượng mã & PHPCS compliance:
      • Xử lý đúng chuẩn WPCS cho $_SERVER['REQUEST_URI'] (unslash + sanitize + no direct usage)
      • Chuẩn hóa prefix function: init_plugin_suite_live_search_*
      • Tách tham số raw & sanitized để xoá hoàn toàn cảnh báo InputNotSanitized
  • 1.8.6 – Shortcode Enhancements & Code Quality
    • Nâng cấp shortcode [init_live_search]:
      • Thêm các thuộc tính mới: width, max_width, align, id, name, aria_label, button (ẩn/hiện nút bấm), radius (tinh chỉnh bo góc tốt hơn)
      • Giúp người dùng không biết code vẫn điều chỉnh được giao diện ngay từ shortcode
      • Không ảnh hưởng logic cũ, shortcode vẫn hoạt động như trước
    • Cải thiện bảo mật & chất lượng mã (PHPCS / SQL):
      • Escape toàn bộ giá trị động trong HTML attributes (id, class, style, …)
      • Chuyển LIMIT $internal_limit sang LIMIT %d trong SQL
      • Giảm cảnh báo PreparedSQLPlaceholders bằng cách gom tham số và truyền đúng số lượng placeholders
      • Scoped ignore hợp lý (không bỏ qua toàn file), vẫn an toàn và tuân thủ coding standard
    • Tối ưu trải nghiệm phát triển:
      • Code rõ ràng hơn cho các dynamic placeholder trong IN() list
      • Giữ nguyên hiệu năng và logic tìm kiếm hiện tại
  • 1.8.5 – WooCommerce UX Consistency
    • Khắc phục lỗi nút .ils-cart-btn trong kết quả tìm kiếm:
      • Trước đây, sản phẩm đơn giản (Simple Product) khi bấm nút sẽ gọi endpoint wc-ajax=add_to_cart và trả về JSON thay vì chuyển hướng
      • Đã sửa lại để toàn bộ loại sản phẩm (Simple, Variable, Grouped, v.v.) đều chuyển hướng trực tiếp đến trang sản phẩm
      • Đảm bảo hành vi thống nhất giữa tất cả các loại sản phẩm trong kết quả tìm kiếm
    • Cải thiện trải nghiệm người dùng (UX):
      • Giữ nguyên hành vi “View Product” đồng nhất — tránh nhầm lẫn khi bấm “Add to Cart” trong live search
      • Không còn trường hợp trang trả về JSON hoặc thông báo lỗi do AJAX
    • Lời cảm ơn: Xin gửi lời cảm ơn đặc biệt tới m0n0brands đã phát hiện và báo cáo chi tiết vấn đề này!
  • 1.8.4 – Dev Filter & Post Type Handling
    • Bổ sung filter cho developer:
      • Thêm hook init_plugin_suite_live_search_post_types để theme/plugin có thể can thiệp danh sách post_type
      • Cho phép mở rộng, ghi đè hoặc ép thêm post type tùy nhu cầu
      • Ví dụ: luôn thêm manga vào kết quả tìm kiếm, không ảnh hưởng tới cấu hình plugin
    • Cải thiện chất lượng code:
      • Chuẩn hóa xử lý giá trị trả về bằng array_values(array_unique()) để tránh trùng lặp
      • Đảm bảo output gọn gàng, không phát sinh index thừa
      • Giữ nguyên tính tương thích ngược với toàn bộ API và shortcode hiện có
  • 1.8.3 – Stability & PHPCS Compliance
    • Khắc phục lỗi nghiêm trọng:
      • Sửa endpoint /coupon gây lỗi 500 Internal Server Error khi gặp coupon đã hết hạn hoặc vượt quá giới hạn sử dụng
      • Đảm bảo chỉ trả về các coupon hợp lệ, còn hạn và còn lượt sử dụng, tránh gây crash toàn bộ REST API
    • Cải thiện chất lượng code:
      • Bổ sung PHPCS ignore cho các truy vấn SQL phức tạp (bao gồm placeholders, biến nội suy và direct queries)
      • Giữ nguyên logic để đảm bảo hiệu năng nhưng loại bỏ cảnh báo giả (false positive) trong quá trình kiểm tra static code
      • Tăng tính rõ ràng, giúp codebase đạt chuẩn WordPress Coding Standards mà không cần refactor nặng
    • Tăng độ ổn định tổng thể:
      • Cải thiện validation của tham số trong các truy vấn động để giảm thiểu lỗi biên
      • Giảm nguy cơ xung đột hoặc lỗi không mong muốn khi chạy trên môi trường nghiêm ngặt (ví dụ: hosting có bật full PHPCS scan)
      • Bảo toàn tính tương thích ngược với toàn bộ API, shortcode và template override hiện có
  • 1.8.2 – AI Related Posts Engine v2
    • Nâng cấp thuật toán AI lên algo version v2:
      • Thay thế tín hiệu freshness bằng mô hình kép recency (so với hiện tại) và time_gap (so với bài gốc)
      • Đa dạng hóa kết quả bằng MMR (Max Marginal Relevance), cân bằng giữa liên quan và đa dạng
      • Tự động lọc và loại bỏ trùng ứng viên, đảm bảo chỉ lấy bài viết publish
    • Cải thiện hiệu năng:
      • Pre-cache dữ liệu post, meta, term để giảm N+1 queries
      • Sử dụng RNG an toàn hơn trong quá trình chọn ngẫu nhiên có trọng số
      • Cache key có versioning để dễ dàng invalidation khi đổi thuật toán
    • Mở rộng API cho developer:
      • Filter init_plugin_suite_live_search_ai_half_life_recency để chỉnh decay của tín hiệu recency
      • Filter init_plugin_suite_live_search_ai_half_life_gap để chỉnh decay của tín hiệu time_gap
      • Filter init_plugin_suite_live_search_ai_mmr_lambda để cân bằng relevance ↔ diversity
      • Filter init_plugin_suite_live_search_ai_selected để can thiệp danh sách cuối cùng sau khi diversify
    • Đảm bảo tương thích ngược:
      • Các filter cũ ai_candidates, ai_signals, ai_weights, ai_score vẫn hoạt động bình thường
      • Không ảnh hưởng tới shortcode builder, template override hay auto-insert
  • 1.8.1 – AI-Powered Related Posts
    • Ra mắt shortcode mới [init_live_search_related_ai]:
      • Sử dụng thuật toán AI multi-signal để gợi ý bài viết liên quan
      • Tín hiệu bao gồm: tag, series, title bigrams, same_keyword (ACF), category, views, comment, freshness
      • Tự động mở rộng pool ứng viên từ bài viết gần đây, cùng series hoặc cùng từ khóa
      • Dùng chung template với [init_live_search_related_posts], không cần CSS mới
    • Mở rộng khả năng tùy biến cho developer:
      • Bổ sung filter init_plugin_suite_live_search_ai_candidates để inject pool ứng viên
      • Bổ sung filter init_plugin_suite_live_search_ai_signals để thêm hoặc ghi đè điểm tín hiệu
      • Bổ sung filter init_plugin_suite_live_search_ai_weights để chỉnh trọng số mặc định
      • Bổ sung filter init_plugin_suite_live_search_ai_score để tinh chỉnh điểm cuối cùng
    • Tối ưu hiệu năng & tương thích:
      • Thuật toán chấm điểm được cache sẵn dữ liệu để giảm query lặp lại
      • Đảm bảo thống nhất pipeline render giữa [init_live_search_related_posts][init_live_search_related_ai]
      • Hoàn toàn tương thích ngược với shortcode builder, auto-insert và template override
  • 1.8.0 – Nâng cấp lớn cho hệ thống gợi ý từ khóa
    • Nâng cấp lớn cho hệ thống gợi ý từ khóa trong admin:
      • Thay thế TF-IDF bằng BM25 scoring để tính trọng số chính xác hơn
      • Tích hợp NPMI (Normalized Pointwise Mutual Information) nhằm ưu tiên các bigram có ý nghĩa ngữ nghĩa mạnh
      • Bổ sung Log-Likelihood Ratio (Dunning) để tái xếp hạng và phát hiện cụm từ thực sự collocated
      • Kết hợp đa chỉ số để tối đa hóa chất lượng và độ liên quan của từ khóa
    • Tối ưu gợi ý từ khóa dạng bigram:
      • Chỉ tập trung vào cụm 2 từ để kết quả gọn gàng, giàu tác động
      • Lọc theo ngữ cảnh với stop word, stop phrase và kiểm tra độ dài chặt chẽ
      • Tự động loại bỏ chuỗi số, ký tự không phải chữ, và các cặp từ trùng lặp
      • Chuẩn hóa Unicode an toàn cho cả tiếng Việt và tiếng Anh
    • Hệ thống fallback thông minh:
      • Thêm chế độ fallback mềm khi lọc nghiêm ngặt không trả kết quả
      • Đảm bảo sinh tối thiểu 15 từ khóa chất lượng mỗi lần
      • Duy trì tính đa dạng bằng cách trộn bigram top-performing và random
    • Cải thiện hiệu năng & độ ổn định:
      • Tối ưu tính toán BM25 và thống kê collocation cho dataset lớn
      • Đếm & chấm điểm bigram tiết kiệm bộ nhớ nhưng vẫn chính xác
      • Regex an toàn hơn cho chuẩn hóa dấu gạch để tránh lỗi PCRE
      • Xử lý lỗi mạnh mẽ để tránh tình trạng UI admin trả về trống
    • Đảm bảo tương thích ngược hoàn toàn:
      • Giữ nguyên các endpoint AJAX, filter hooks và tích hợp setting
      • Tiếp tục sử dụng liền mạch meta key _init_view_count và comment count để tính trọng số dựa trên tương tác
  • 1.7.9 – Nâng cấp TF-IDF & tích hợp Init View Count
    • Nâng cấp hệ thống gợi ý từ khóa bằng thuật toán TF-IDF, thay cho cách đếm tần suất đơn thuần
    • Tích hợp sâu với plugin Init View Count — dùng meta key _init_view_count để ưu tiên bài viết có lượt xem cao
    • Áp dụng công thức trọng số với logarithmic scaling để tránh bài viral lấn át
    • Chỉ phân tích tiêu đề — loại bỏ nhiễu từ nội dung, chuyên mục (categories), thẻ (tags) để đảm bảo từ khóa chất lượng
    • Tối ưu hiệu suất:
      • WP_Query chỉ truy vấn post IDs để giảm tải cho cơ sở dữ liệu
      • Quy trình xử lý văn bản gọn hơn với cơ chế giải mã HTML entities nâng cao
      • Sử dụng bộ nhớ hiệu quả hơn nhờ giảm overhead khi lấy dữ liệu
    • Cải thiện logic lọc từ khóa:
      • Sinh bigrams theo ngữ cảnh; loại bỏ trigrams để kết quả sạch hơn
      • Bộ lọc stop-words nâng cao cho cả tiếng Việt và tiếng Anh
      • Tự động loại bỏ HTML artifacts, entities và thuật ngữ kỹ thuật
      • Thuật toán chọn theo đa dạng (diversity-based selection) — tránh trùng lặp, đảm bảo phong phú
      • Yêu cầu tối thiểu 2 lần xuất hiện, kèm lọc độ dài tối ưu
    • Sinh tối đa 10 từ khóa chất lượng cao mỗi lần (tăng từ 7) với cơ chế chọn thông minh 50/50
    • Nới quy tắc chồng lặp (ngưỡng 60%) để tăng độ đa dạng
    • Tương thích ngược hoàn toàn với filter hooks và các thiết lập hiện có
  • 1.7.8 – Từ điển đồng nghĩa định sẵn & cải tiến tiếng Việt
    • Thêm tính năng Predefined Dictionaries – 10 bộ từ điển song ngữ theo chủ đề giúp mở rộng từ đồng nghĩa
    • Các bộ từ điển bao gồm: E-commerce, IT, Marketing, Sức khoẻ, Du lịch, Giáo dục, Ẩm thực, Thể thao, Thời trang, Giải trí
    • Mỗi bộ từ điển chứa 50–150+ thuật ngữ Anh–Việt tối ưu cho nội dung thị trường Việt Nam
    • Kích hoạt tự động khi chọn ít nhất một từ điển — tự gộp thông minh với từ đồng nghĩa tùy chỉnh (ưu tiên user define)
    • Nâng cấp logic đồng nghĩa:
      • Hỗ trợ ánh xạ hai chiều Anh ↔ Việt
      • Mở rộng cụm từ nhiều từ (multi-word terms)
      • Trọng số theo ngữ cảnh & loại bỏ trùng lặp thông minh
      • Tích hợp mượt với hệ thống đồng nghĩa hiện có
    • Bổ sung sanitization toàn diện cho dữ liệu từ điển được chọn
    • Cải thiện khả năng hiểu ngôn ngữ Việt — hỗ trợ tốt hơn các thuật ngữ bản địa
  • 1.7.7 – Sửa lỗi xung đột với WooCommerce
    • Khắc phục lỗi fatal error ở trang Payment Settings của WooCommerce do xung đột tab parameter
    • Loại bỏ biến global $current_tab gây can thiệp vào hệ thống admin của WooCommerce
    • Cải thiện xử lý tab chỉ hoạt động trong phạm vi plugin, không ảnh hưởng các plugin khác
    • Thêm validation đúng cách để tránh xử lý giá trị tab null hoặc rỗng
    • Tăng cường độ ổn định cho trang admin settings và khả năng tương thích cross-plugin
    • Tab switching giờ được cô lập hoàn toàn trong scope của plugin
  • 1.7.6 – Hỗ trợ nhiều post type
    • Shortcode [init_live_search_related_posts] giờ hỗ trợ tham số post_type
    • Có thể nhập một hoặc nhiều loại post type, phân cách bằng dấu phẩy (ví dụ: post, post,page, manga,light_novel)
    • Tham số post_type tự động tương thích với hệ thống tìm kiếm nội bộ của plugin
    • Không cần thay đổi logic REST hoặc cài đặt — mọi thứ tự động hoạt động với cấu hình hiện tại
    • Shortcode Builder được cập nhật để hỗ trợ trường post_type (kiểu text)
    • Nâng cấp hàm xử lý post_type: chấp nhận cả chuỗi đơn và danh sách dạng post,page
  • 1.7.5 – Layout mới cho Related Posts
    • Nâng cấp shortcode [init_live_search_related_posts] – hỗ trợ tham số template để chọn giao diện hiển thị
    • Các template có sẵn:
      • default: Giao diện hàng ngang (thumbnail bên trái – mặc định)
      • grid: Lưới responsive với ảnh lớn và tiêu đề
      • classic: Tiêu đề + đoạn trích – phong cách blog
      • compact: Danh sách văn bản thu gọn
      • thumbright: Tiêu đề + ngày đăng (ảnh thu nhỏ bên phải)
    • Tất cả template đều có thể override bằng cách tạo file init-live-search/related-posts-{template}.php trong theme
    • Tự động fallback về default nếu không tìm thấy template phù hợp
    • Cải thiện logic làm sạch từ khóa: loại bỏ toàn bộ ký tự không phải chữ/số (kể cả emoji, dấu câu, gạch Unicode…)
    • Đảm bảo độ chính xác khi dò bài viết liên quan – tránh nhiễu do ký tự đặc biệt
    • Thêm tùy chọn auto-insert related posts sau nội dung hoặc trước/sau phần bình luận
    • Có thể bật trong phần cài đặt — sử dụng shortcode mặc định: [init_live_search_related_posts count="10"]
  • 1.7.4 – Toán tử + / – & shortcode liên quan
    • Hỗ trợ toán tử tìm kiếm +keyword (bắt buộc) và -keyword (loại trừ) – tinh chỉnh kết quả chính xác hơn
    • Tuỳ chọn bật/tắt toán tử trong phần cài đặt “Enable + / – Search Operators?”
    • Thêm shortcode mới [init_live_search_related_posts] – hiển thị bài viết liên quan dạng HTML tĩnh, SEO-friendly
    • Tham số: id, count, keyword, css, schema (JSON-LD ItemList)
    • Tự động chia 2 cột trên desktop khi số bài ≥ 10, hỗ trợ override template/CSS
    • Shortcode Builder UI cập nhật – xây nhanh cả init_live_searchinit_live_search_related_posts
    • Bổ sung filter init_plugin_suite_live_search_get_smart_post_thumbnail_alt để tùy biến alt ảnh
  • 1.7.3 – Tối ưu bất đồng bộ & cải thiện UX
    • Refactor toàn bộ flow xử lý kết quả – kết quả chính hiển thị ngay, kết quả từ site phụ load sau
    • Không còn dùng Promise.all – tránh chờ tất cả site xong mới render
    • Các kết quả từ site khác giờ sẽ stream vào chậm rãi, không block trải nghiệm người dùng
    • Fix lỗi loader không biến mất khi chỉ có kết quả từ site phụ
    • Fix hiển thị “Không có kết quả” không chính xác trong một số trường hợp
  • 1.7.2 – Trình tạo shortcode trực quan
    • Thêm giao diện Shortcode Builder cho [init_live_search] — cho phép tạo shortcode bằng UI trực quan
    • Có thể cấu hình trực tiếp các thuộc tính: type, label, placeholder, class, stroke_width, radius
    • Hỗ trợ xem trước shortcode và sao chép nhanh bằng một cú click
    • Toàn bộ nhãn và văn bản đều có thể tuỳ chỉnh thông qua wp_localize_script()
  • 1.7.1 – Mở rộng WooCommerce & shortcode mới
    • Bổ sung các slash command mới cho WooCommerce: /brand, /attribute, /variation, /coupon
    • Cải tiến slash command /price — thêm tùy chọn sortrsort để sắp xếp theo giá
    • Vô hiệu hoá fallback tìm kiếm đơn từ đối với kết quả từ site khác — tránh nhiễu và sai kết quả
    • Thêm shortcode [init_live_search] — cho phép chèn nút hoặc ô tìm kiếm bất kỳ vị trí nào
    • Shortcode hỗ trợ các thuộc tính: type, placeholder, label, class, stroke_width, radius
    • Hỗ trợ thêm class .dark trực tiếp vào phần tử shortcode — không phụ thuộc body
  • 1.7.0 – Mở rộng đa site
    • Thêm tính năng Cross-site Search — nhập danh sách site khác để gộp kết quả tìm kiếm
    • Cấu hình đơn giản bằng textarea: Tên site|https://example.com/ (mỗi dòng 1 site)
    • Tự động fetch kết quả từ các REST API tương ứng, không cần plugin phụ trợ
    • Hiển thị rõ nguồn site bên dưới tiêu đề kết quả — UX minh bạch và dễ hiểu
    • Tối ưu hiệu suất: chỉ gọi API khi cần, không ảnh hưởng site chính
    • Cập nhật phần sanitize & JS localize để truyền dữ liệu site phụ chính xác và an toàn
  • 1.6.9 – Synonym thông minh & fallback linh hoạt
    • Thêm hệ thống Synonym Expansion — mở rộng kết quả tìm kiếm bằng từ đồng nghĩa
    • Thêm tab mới “Synonyms” trong cài đặt với editor JSON trực quan
    • Cho phép định nghĩa từ điển đồng nghĩa tuỳ biến, ví dụ: { "reaction": ["tương tác", "phản hồi"] }
    • Hỗ trợ thêm/sửa nhanh cặp từ khóa ngay trong giao diện bằng nút hoặc phím Enter
    • Kiểm tra JSON tự động, hiển thị lỗi trực tiếp và chặn lưu khi không hợp lệ
    • Logic tìm kiếm mới: nếu không có (hoặc có quá ít) kết quả, plugin sẽ tự động mở rộng từ khóa sang từ đồng nghĩa để tìm thêm
    • Kết quả từ từ đồng nghĩa được tính điểm thấp hơn kết quả khớp trực tiếp, đảm bảo thứ tự hợp lý
    • Hoạt động trên tất cả chế độ tìm kiếm (tiêu đề, thẻ, excerpt, ACF, SEO…)
    • Thêm tuỳ chọn “Enable Synonym Expansion?” để bật/tắt logic từ đồng nghĩa mà không xoá dữ liệu đã lưu
  • 1.6.8 – Bộ lọc mạnh hơn & tối ưu log
    • Hỗ trợ lọc nhiều thẻ hoặc danh mục cùng lúc trong slash command /tag/category (sử dụng logic AND)
    • Thêm slash command /trending sử dụng dữ liệu trending theo thời gian thực từ Init View Count
    • Loại bỏ “Media” (attachment) khỏi danh sách chọn post type trong phần cài đặt — giao diện gọn gàng hơn
    • Xoá các trường user_idsource khỏi hệ thống analytics — đơn giản, nhẹ, không lưu dữ liệu người dùng
    • Tối ưu giới hạn truy vấn: không còn cố định 200 kết quả mà sẽ tự động điều chỉnh theo số lượng kết quả cần hiển thị
  • 1.6.7 – Ổn định kiến trúc & hỗ trợ lệnh tùy chỉnh
    • Dọn dẹp các hàm nội bộ và chuẩn hóa tên gọi — gộp detect_language vào detect_lang, loại bỏ các hàm cũ không còn dùng
    • Chuẩn hóa xử lý excerpt, ảnh fallback và logic hiển thị cho WooCommerce
    • Nâng cấp hook JS ils:search-started — hỗ trợ đầy đủ việc tạo slash command tùy chỉnh từ theme/plugin bên ngoài
    • Codebase chính thức được đánh dấu là ổn định — các module đã tách bạch, sẵn sàng mở rộng lâu dài
  • 1.6.6 – Tìm kiếm fallback & UI tối ưu
    • Thêm logic Fallback tìm kiếm từng từ — tự động tách từ khóa dài thành các từ đơn nếu không tìm thấy kết quả
    • Tích hợp tìm kiếm trong SEO Metadata vào fallback — mở rộng độ phủ khi từ khóa khớp với tiêu đề/mô tả SEO
    • Thêm tùy chọn “Hiển thị đoạn trích” trong cài đặt admin — có thể tắt nếu muốn giao diện đơn giản hơn
    • Refactor hệ thống tìm kiếm: tách riêng các chế độ (full, title, tag-aware…) thành hàm riêng, dễ mở rộng hơn
    • Chuẩn hóa dữ liệu đầu ra trong REST API: luôn trả về cấu trúc đầy đủ kể cả khi không có excerpt
  • 1.6.5 – Snippet thông minh & highlight chuẩn xác
    • Thêm tính năng Smart Excerpt Highlight — tự động tạo đoạn trích ngắn từ excerpt hoặc content nếu không có excerpt
    • Gạch chân các từ khóa khớp trong đoạn snippet — hỗ trợ tìm kiếm mượt mà hơn cho người dùng
    • Ưu tiên excerpt nếu có, fallback sang content trong trường hợp cần thiết
    • Giới hạn độ dài đoạn trích ở phía JS để tránh UI bị vỡ hoặc quá tải
    • Cải tiến cơ chế xếp hạng kết quả: ưu tiên tiêu đề > đoạn trích > nội dung — đặc biệt hữu ích trong chế độ title_excerpttitle_content
    • Refactor toàn bộ hàm get_results() thành các hàm con riêng biệt — gọn hơn, dễ mở rộng và bảo trì
  • 1.6.4 – Lệnh tuỳ chỉnh & sự kiện mới cho developer
    • Thêm sự kiện JavaScript ils:result-clicked — theo dõi khi người dùng click vào kết quả tìm kiếm (gồm ID, URL, tiêu đề, loại, danh mục, slash command)
    • Thêm filter mới init_plugin_suite_live_search_commands — cho phép đăng ký slash command từ theme hoặc plugin khác
    • Các slash command tuỳ chỉnh có thể tự xử lý bằng sự kiện JS ils:* — không cần thay đổi plugin gốc
    • Tối ưu logic nhận diện giọng nói (Voice Search) với SpeechRecognition — tự dừng sau 5s, khởi động lại nếu cần, nhận diện ngôn ngữ từ <html lang="...">
    • Cập nhật giao diện micro nhấp nháy và xử lý lỗi rõ ràng hơn khi trình duyệt chặn microphone
  • 1.6.3 – Slash command mới & cải tiến logic
    • Thêm các slash command mới: /day, /week, /month — hiển thị bài viết được xem nhiều nhất theo ngày, tuần, tháng
    • Thêm slash command /history — hiển thị các truy vấn tìm kiếm gần đây (lưu bằng LocalStorage)
    • Yêu cầu plugin Init View Count đang hoạt động để kích hoạt các lệnh trên
    • Hỗ trợ đầy đủ infinite scroll và REST API, hoạt động ổn định trên các site có lưu lượng cao
    • Nâng cấp logic phát hiện slash command — chỉ hiển thị các lệnh hợp lệ dựa trên plugin đang bật và cài đặt hiện tại
    • Cải thiện fallback nếu slash command không tồn tại — giao diện mượt mà, nhất quán
  • 1.6.2 – Default slash command & tinh chỉnh hiển thị
    • Thêm tùy chọn chọn slash command mặc định khi mở modal (ví dụ: /recent, /related, /product)
    • Chế độ Smart Detection: tự động xác định slash command dựa theo loại trang hiện tại (bài viết, taxonomy, sản phẩm…)
    • Chỉ hiển thị các lệnh như /popular, /read nếu plugin tương ứng đang hoạt động
    • Cải thiện mô tả trong phần cài đặt — rõ ràng và dễ hiểu hơn cho người dùng
    • Bổ sung filter và logic bảo vệ để đảm bảo chỉ ghi nhận giá trị hợp lệ từ form
  • 1.6.1 – Search Analytics & tối ưu tracking
    • Thêm tab Analytics trong admin — theo dõi truy vấn tìm kiếm theo thời gian thực
    • Ghi lại các truy vấn dựa trên từ khóa (số kết quả, thời gian, nguồn, người dùng)
    • Lưu log bằng transient có xoay vòng — nhẹ, không lưu dữ liệu cá nhân
    • Gộp các truy vấn tương tự và sắp xếp theo tần suất (JS phía client)
    • Hỗ trợ xuất CSV và xoá log với bảo vệ nonce
    • Cải tiến hệ thống tracking:
      • Chỉ ghi lại các từ khóa thực sự — bỏ qua lệnh slash như /recent, /fav
      • Bỏ qua truy vấn rỗng hoặc chứa toàn ký tự đặc biệt
    • Nâng cấp UX trong admin: nút nhóm kết quả rõ ràng, responsive, dễ thao tác
    • Bảo vệ tất cả form bằng nonce
    • Refactor nội bộ:
      • Làm gọn hook & filter liên quan đến tracking
      • Đổi tên file analytics.phptracking.php để tránh xung đột khi hiển thị log
  • 1.6.0 – Mở rộng UI & hỗ trợ preset style
    • Thêm tuỳ chọn chọn trước giao diện với các preset style dựng sẵn: style-full.css, style-topbar.css
    • style-full.css: mở modal toàn màn hình, hỗ trợ hiển thị như một lớp overlay độc lập
    • style-topbar.css: giao diện thanh tìm kiếm nổi trên đầu trang, giống Spotlight hoặc thanh admin
    • Cho phép override style bằng cách đặt file init-live-search/style.css trong theme hiện tại
    • Thêm tuỳ chọn “Tắt toàn bộ CSS mặc định” — phù hợp với developer muốn tự thiết kế lại UI
    • Cải thiện UI mặc định: căn lề hợp lý hơn trên mobile, khoảng cách giữa các phần tử đồng đều
  • 1.5.4 – Tìm kiếm trong SEO Metadata
    • Thêm tính năng Search in SEO Metadata — cho phép tìm kiếm trong tiêu đề SEO và mô tả SEO được tạo bởi plugin SEO
    • Hỗ trợ các plugin: Yoast SEO, Rank Math, AIOSEO, The SEO Framework, SEOPress
    • Có thể bật/tắt trong phần cài đặt admin
    • Tối ưu hóa thuật toán để phân biệt rõ các chế độ: title, title_tag, title_excerpt
    • Thêm filter init_plugin_suite_live_search_seo_meta_keys — tùy chỉnh các meta key SEO được dùng để so khớp
    • Thêm filter init_plugin_suite_live_search_weights — kiểm soát thứ tự kết quả bằng trọng số giữa các nguồn khác nhau
  • 1.5.3 – Hỗ trợ ACF & đa ngôn ngữ
    • Hỗ trợ tìm kiếm trong các trường tùy chỉnh của ACF — thêm tuỳ chọn nhập danh sách field key trong phần cài đặt (ví dụ: company_name, project_code)
    • Chỉ tìm kiếm các bài viết đã xuất bản và áp dụng fallback thông minh (tách từ, bigram)
    • Thêm filter init_plugin_suite_live_search_post_ids để kiểm soát danh sách kết quả từ ACF và các nguồn khác
    • Tự động phát hiện ngôn ngữ hiện tại với WPML hoặc Polylang, lọc kết quả theo ngôn ngữ
    • Thêm filter init_plugin_suite_live_search_filter_lang để giới hạn kết quả theo ngôn ngữ hiện tại
    • Thêm filter init_plugin_suite_live_search_category_taxonomy — tùy chỉnh taxonomy dùng để hiển thị tên danh mục (ví dụ dùng product_cat cho sản phẩm WooCommerce)
    • Cải thiện hiệu suất truy vấn ACF: chỉ join bài viết đã xuất bản, tránh lặp ID không cần thiết
    • Hoàn thiện tài liệu filter, đồng bộ bản dịch và nội dung hướng dẫn
  • 1.5.2 – Init Smart Tag-Aware Search
    • Thêm chế độ tìm kiếm mới: Init Smart Tag-Aware Search — kết hợp tiêu đề và thẻ bài viết, tự động tách từ để khớp với các tag ngắn như php, css, seo
    • Tooltip Quick Search giờ hỗ trợ cả khi chọn 1 từ duy nhất (trước đây cần chọn 2 từ trở lên)
    • Cải thiện UX cho slash command: hiển thị rõ trạng thái loading và tải thêm kết quả mượt mà hơn
    • Chuẩn hóa hiển thị kết quả sản phẩm WooCommerce: nhãn giảm giá, trạng thái hết hàng, căn lề chính xác
    • Refactor nội bộ: tối ưu xử lý fallback, keyword, và logic parser khi nhập sai slash command
  • 1.5.1 – Tích hợp WooCommerce & mở rộng slash command
    • Hỗ trợ tìm kiếm sản phẩm WooCommerce qua các slash command: /product, /on-sale, /stock, /sku, /price
    • Hiển thị giá sản phẩm, nhãn giảm giá, trạng thái hết hàng và nút Add to Cart trong danh sách kết quả
    • Thêm lệnh /price {min} {max} để lọc sản phẩm theo khoảng giá (qua REST API)
    • Chuẩn hóa infinite scroll cho các lệnh liên quan đến sản phẩm
    • Thêm nhãn trực quan cho trạng thái “Sale” và “Sold out”
    • Lọc slash command theo post type sản phẩm — chỉ hiển thị nếu đã bật product trong cài đặt
    • Cải thiện điều hướng bằng bàn phím trong danh sách slash command (tự scroll nếu quá dài)
    • Tối ưu logic JS để xử lý hiển thị nút giỏ hàng và trạng thái kho hàng
    • Cải thiện độ chính xác khi tìm theo SKU và lọc giá
    • Sửa lỗi nhỏ: nút yêu thích (.ils-fav-btn) tự thêm class active sai khi không phải lệnh /fav
  • 1.5.0 – Tăng cường thao tác nhanh & hỗ trợ yêu thích
    • Thêm tooltip “Quick Search” khi bôi đen 2–8 từ, cho phép mở nhanh modal và tìm kiếm ngay
    • Hỗ trợ thuộc tính data-ils trên bất kỳ phần tử HTML để mở modal và điền sẵn lệnh slash
    • Thêm lệnh /fav/fav_clear để quản lý danh sách yêu thích bằng localStorage
    • Cho phép thêm/xoá bài viết yêu thích ngay trong danh sách kết quả bằng biểu tượng ngôi sao
    • Cải thiện hệ thống lệnh nội bộ: hiển thị chính xác kết quả theo trạng thái, hỗ trợ reset bộ lọc
    • Tối ưu logic hiddenUrl: tự động reset nếu không có kết quả được chọn
    • Chuẩn hoá hành vi mở modal từ nhiều điểm kích hoạt khác nhau để đảm bảo trải nghiệm nhất quán
    • Refactor mã nguồn: chuẩn bị cho khả năng mở rộng mà không ảnh hưởng đến API hoặc HTML hiện tại
  • 1.4.3 – Hoàn thiện hệ thống slash command & tối ưu UI
    • Hỗ trợ phân trang/infinite scroll cho các lệnh: /recent, /date, /tax, /read
    • Tối ưu UI: suggestion pills hiển thị mượt mà, dễ thao tác trên mobile
    • Thêm sự kiện JS cho developer: ils:modal-opened, ils:modal-closed, ils:results-loaded, ils:search-started
    • Trải nghiệm bàn phím tốt hơn: điều hướng gợi ý, command và kết quả đều ổn định
    • Lệnh /clear chỉ xóa các cache bắt đầu bằng ils-cache-*, an toàn hơn
    • Tối ưu toàn bộ logic render, tránh lỗi scroll hoặc layout nhảy khi nhiều kết quả
    • Refactor mã nguồn: phân tách rõ UI, cache, command, event — dễ bảo trì
    • Không còn lỗi console — sẵn sàng cho production trên các site lớn
  • 1.4.2 – Nâng cấp UX và hỗ trợ liên kết mở rộng
    • Gợi ý slash command theo thời gian thực khi gõ /
    • Cải tiến điều hướng bằng bàn phím, tránh lỗi chọn nhầm
    • Thêm tùy chọn tắt toàn bộ slash command nếu không dùng
    • Hỗ trợ mở modal qua ?modal=search hoặc #search
    • Cho phép truyền sẵn từ khóa hoặc slash command qua URL bằng ?modal=search&term=/related
    • Ngăn trang reload nếu click vào link chứa modal=search — mở modal ngay lập tức bằng JS
  • 1.4.1 – Mở rộng Slash Command & cải thiện UX
    • Thêm các slash command mới: /related, /read, /random, /categories, /tags, /help, /clear, /reset
    • Thêm tùy chọn bật/tắt nhập liệu bằng giọng nói trong phần cài đặt
    • Lệnh /read: hiển thị danh sách bài viết đã xem gần đây (lưu bằng localStorage, không cần REST API)
    • Lệnh /related: gợi ý bài viết liên quan dựa trên tiêu đề trang hiện tại
    • Lệnh /categories/tags: hiển thị danh mục và thẻ phổ biến dạng nút nhỏ gọn
    • Giao diện slash command helper được tích hợp sẵn trong modal
    • Refactor logic command trong JS để dễ mở rộng và xử lý fallback tốt hơn
    • Cải tiến UI: giao diện dạng pills và hỗ trợ i18n đầy đủ cho tất cả lệnh
  • 1.4.0 – Tìm kiếm theo lệnh & tối ưu REST API
    • Hỗ trợ slash command: /recent, /popular, /category, /tag, /date, /id
    • Xử lý lệnh /date linh hoạt theo định dạng Y, Y/m, Y/m/d
    • Nhảy thẳng đến bài viết bằng /id {post_id}
    • Tạo endpoint riêng cho từng lệnh: /recent, /date, /tax (không dùng API mặc định của WordPress)
    • Cache kết quả slash command trong localStorage – mỗi lệnh chỉ gọi API 1 lần
    • Thêm filter mới cho developer:
      • init_plugin_suite_live_search_query_args – chỉnh WP_Query trước khi gọi
      • init_plugin_suite_live_search_default_thumb – ảnh mặc định nếu thiếu thumbnail
    • Thêm tùy chọn bật/tắt từng trigger riêng: Ctrl + /, triple-click, input[name="s"]
    • Refactor toàn bộ JS: tách riêng command-based logic, dễ mở rộng
  • 1.3.0 – Nâng cấp UX & chuẩn hóa mã nguồn
    • Thêm phím tắt Ctrl + / để mở nhanh modal
    • Thêm thao tác triple-click (3 lần nhấp liên tiếp) để mở modal
    • Hiển thị loại post (Post, Page, v.v.) bên cạnh mỗi kết quả
    • Tự động tạo bộ lọc danh mục từ kết quả tìm kiếm (không cần API)
    • Cải tiến UX: nút tìm kiếm chuyển thành nút xoá khi có nội dung
    • Chuẩn hóa toàn bộ mã nguồn:
      • Prefix chuẩn: init_plugin_suite_live_search_*
      • REST API namespace: initlise/v1
      • Biến JS toàn cục: window.InitPluginSuiteLiveSearch
  • 1.2.0 – Bản mở rộng dành cho lập trình viên
    • Hỗ trợ nhập liệu bằng giọng nói (thử nghiệm) qua SpeechRecognition API
    • Thêm filter cho developer:
      • init_plugin_suite_live_search_enable_fallback
      • init_plugin_suite_live_search_post_ids
      • init_plugin_suite_live_search_result_item
      • init_plugin_suite_live_search_results
    • Tuỳ chọn mới:
      • Bật/tắt fallback (rút gọn từ khóa, ghép đôi cụm từ)
      • Bật/tắt tự động nạp CSS mặc định
    • Hỗ trợ dark mode qua class hoặc biến JS
  • 1.1.0 – Phiên bản cập nhật lớn
    • Nâng cấp thuật toán fallback: thử từ khóa rút gọn, ghép đôi từ (bigrams)
    • Nhớ lại từ khóa đã tìm khi mở lại modal
    • Giới hạn đầu vào: tối đa 100 ký tự
    • Tùy chọn mới:
      • Cache kết quả trong localStorage
      • Tự động gắn UTM từ URL vào liên kết kết quả
    • Hỗ trợ dark mode qua class hoặc biến JS
  • 1.0.0 – Phiên bản đầu tiên
    • Phát hành bản ổn định đầu tiên
    • Hỗ trợ tìm kiếm dạng modal sử dụng REST API
    • Điều hướng bằng bàn phím (Arrow, Enter, Escape)
    • Cài đặt từ khóa gợi ý, hỗ trợ tạo tự động
Made with in HCMC.

Bình luận


2 bình luận
  • Admin

    15/05/2025 lúc 10:29

    Nguyên lý của plugin này cũng tương tự chức năng tìm kiếm trên trang, các bạn có thể thử tìm kiếm nhé! ❤️

    • Admin

      25/05/2025 lúc 14:08

      Cập nhật: hiện tại trang đã chuyển qua dùng plugin Init Live Search cho tìm kiếm luôn rồi nhé, các bạn có thể test trực tiếp tại trang

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...