Xin chia sẻ cho các bạn một giải pháp xử lý tìm kiếm không chính xác trên WordPress, đó chính là thiết lập chỉ tìm kiếm trong tiêu đề WordPress.

Chỉ tìm kiếm trong tiêu đề WordPress - Giải pháp xử lý tìm kiếm không chính xác

Nếu bạn đang sử dụng tính năng tìm kiếm mặc định của WordPress, nếu bạn để ý sẽ thấy tính năng này có một nhược điểm cực kỳ thảm hại đó chính là tìm kiếm không chính xác nội dung người dùng mong muốn.

Đó là bởi vì tính năng tìm kiếm mặc định của WordPress không chỉ tìm trong tiêu đề bài viết mà còn tìm cả trong nội dung, hình ảnh, phần mô tả, chuyên mục và tags.

Có nghĩa là trong tiêu đề, trong nội dung, hình ảnh, mô tả, chuyên mục, tags hay bất kỳ đâu có chứa từ khóa tìm kiếm là kết quả đều được hiển thị ra hết, mà lại sắp xếp một cách ngẫu nhiên, khiến kết quả hiển thị không chính xác.

Một số người đã chọn cách sử dụng các công cụ tìm kiếm khác, Google Search chẳng hạn để làm giải pháp thay thế. Tuy nhiên việc này chắc chắn sẽ tốn ít nhiều tài nguyên của hosting.

Mua tài khoản số đẹp MB Bank giá rẻ hơn 95%

Bởi vậy, trong bài viết này, tôi muốn chia sẻ cho các bạn một giải pháp xử lý rất hay, không cần sử dụng công cụ bên thứ 3. Vẫn sử dụng công cụ tìm kiếm mặc định của WordPress nhưng chỉ tìm kiếm trong tiêu đề WordPress. Điều này sẽ khiến việc tìm kiếm trở nên chính xác hơn rất nhiều.

Cụ thể như thế nào? Tôi sẽ hướng dẫn các bạn ngay bây giờ.

Rất đơn giản, bạn chỉ cần thêm đoạn code sau vào cuối file functions.php của theme WordPress mà bạn đang sử dụng là được.

/*
* Search only by title
*/
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);

Vậy thôi, giờ tận hưởng thành quả thôi nhé! Đảm bảo kết quả tìm kiếm sẽ chính xác hơn rất nhiều.

Lưu ý: Mỗi lần update hoặc thay đổi themes thì sẽ cần phải thực hiện thêm lại đoạn code trên nhé!

Nếu thấy bài chia sẻ này hữu ích hãy share cho bạn bè cùng xem nhé! Nếu bạn có giải pháp hay hơn rất mong hãy để lại bình luận chia sẻ cho mọi người cùng biết nhé! Chúc các bạn thành công!

1 1 vote
Article Rating
guest
3 Comments
Mới nhất
Cũ nhất
Inline Feedbacks
Xem bình luận
ghế sắt cafe
3 năm trước

This is an article that shows a very good content, images too, hope you will share more in the future for everyone to see, thank and respect you.

Nam Hải
4 năm trước

hay quá, hầu nhưu bài viết nào của bạn mình cũng xem hết, nội dung chất lượng và khá chi tiết, cảm ơn bạn

Minh Khanh
4 năm trước

hay, thêm chỉ tìm kiếm bài viết post nữa hay nhất