Nếu sử dụng website bằng Flatsome thường xuyên thì bạn sẽ nhận thấy chức năng tìm kiếm mặt định của nó rất chuối và thường không tìm ra thứ mình mong muốn, lý do là Ajax search trên theme Flatsome gặp tình trạng hiển thị không chính xác đúng theo keyword bạn tìm kiếm.
Trong bài viết này mình sẽ không đi sâu vào vấn đề tại sao nó lại như vậy mà chỉ là tìm cách giải quyết vấn đề đó như thế nào? Có 2 cách để nâng cao độ chính xác của tìm kiếm trong wordpress (hoặc Flatsome) đó là xài plugin và code lại chút hàm tìm kiếm.
CẢI TIẾN TÌM KIẾM BẰNG PLUGIN
Trước đây mình dùng rất nhiều plugin rồi, cuối cùng mình thấy có plugin “Ajax Search Pro” là phù hợp và tốt cho mình nhất. PLugin này có trả phí tương ứng với kết quả tuyệt vời và hỗ trợ cho mình cả các style css cho khung tìm kiếm.
CẢI TIẾN TÌM KIẾM BẰNG CODE
Đoạn code bên dưới giúp cải tiến việc tìm kiếm bằng cách tập trung vào tìm kiếm trên tiêu đề, tuy chưa phải là chuẩn nhất nhưng sẽ giúp các bạn tìm kiếm tốt và nhanh hơn trong hầu hết các trường hợp. Đoạn code này không phải mình viết ra mà là tìm kiếm trên google rồi biên soạn lại tiện để tra cứu và sử dụng.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// Codfe.com cải tiến hàm search trên Flatsome function __codfe_search_by_title_only( $search, &$wp_query ) { global $wpdb; if(empty($search)) { return $search; // skip processing - no search term in query } $q = $wp_query->query_vars; $n = !empty($q['exact']) ? '' : '%'; $search = $searchand = ''; foreach ((array)$q['search_terms'] as $term) { $term = esc_sql($wpdb->esc_like($term)); $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')"; $searchand = ' AND '; } if (!empty($search)) { $search = " AND ({$search}) "; if (!is_user_logged_in()) $search .= " AND ($wpdb->posts.post_password = '') "; } return $search; } add_filter('posts_search', '__codfe_search_by_title_only', 500, 2); |
Chúc các bạn luôn hoàn thành tốt công việc của mình nhé!
có cách nào cải thiện tốc độ search của live search trên flatsome không ạ
Hiện mình dùng Plugin “Ajax Search Pro” tạo index cho các bài viết và sản phẩm để tăng tốc độ và độ chính xác cho theme nhé!