Sửa lỗi kết quả tìm kiếm không chính xác trên Theme Flatsome WordPress

5 / 100

Nếu sử dụng theme Flatsome làm website bán hàng thì chắc bạn cũng đã gặp tình trạng Kết quả tìm kiếm trên website lại hiển thị cả những bài viết hay sản phẩm không liên quan đúng không?

Sau thời gian làm việc với theme Flatsome và triển khai cho nhiều khách hàng xây dựng website bán hàng online thì mình phát hiện ra rằng Kết quả tìm kiếm trên website wordpress sử dụng theme Flatsome không được chính xác như hình dưới đây:

Theme Flatsome hiển thị kết quả không liên quan đến từ khóa tìm kiếm

Điều này sẽ gây ảnh hưởng tới tốc độ hiển thị kết quả tìm kiếm do phải tìm và hiển thị nhiều kết quả hơn mà lại không hữu ích. Ngoài ra nó cũng góp phần làm ảnh hưởng đến trải nghiệm của khách hàng, khi mà điều họ muốn thấy lại không được thể hiện chính xác.

Vậy làm thế nào để khắc phục điều này?

Cách làm rất đơn giản, đó là bạn sử dụng đoạn mã dưới đây và cho vào file file function.php của theme sẽ giúp bạn hiển thị kết quả tìm kiếm chính xác hơn trên website wordpress sử dụng theme Flatsome

// nang cao chat luong tim kiem tren flatsome function __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', '__search_by_title_only', 500, 2);
Code language: PHP (php)

Và đây là kết quả sau khi mình chèn đoạn mã trên vào theme

Flatsome đã hiển thị chính xác các kết quả liên quan đến từ khóa tím kiếm

Chúc các bạn thành công!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *