Tạo bộ lọc tìm kiếm với Taxonomy Picker




data vpn

Giao diện widget Taxonomy PickerTính năng bộ lọc tìm kiếm (Search Filter) nghĩa là tính năng thêm bộ lọc tìm theo category, tag,…. (gọi chung là Taxonomy) bổ sung cho tính năng tìm kiếm bài viết theo từ khóa mặc định của WordPress. Đây là tính năng khá phổ biến mà bạn có thể dễ dàng thấy các website chuyên về bất động sản hay rao vặt để sử dụng.

Trong thời gian qua mình có hứa là sẽ viết tut làm tính năng tạo bộ lọc tìm kiếm này nhưng đang lúc hoàn thiện code cho tut thì mình đã tìm ra một giải pháp khác dễ dàng hơn mà ai cũng có thể làm được: Sử dụng plugin Taxonomy Picker.

 

Giới thiệu Taxonomy Picker

Taxonomy Picker là một plugin miễn phí mà khi bạn cài vào nó sẽ tạo thêm một widget mới có chức năng chèn hộp tìm kiếm kèm theo bộ lọc dựa theo Taxonomy, tức là tất cả những gì mang khái niệm phân loại nội dung. Ví dụ, ngoài Category và Tag thì nếu bạn có sử dụng một custom taxonomy tên Loại nhà ở nữa chẳng hạn, thì plugin này sẽ giúp bạn thêm tính năng lọc các kết quả bên trong taxonomy Loại nhà ở khi tìm kiếm.

Một vài hình ảnh cho bạn dễ hình dung nhé:

Thiết lập trong widget Taxonomy Picker

Thiết lập trong widget Taxonomy Picker

Giao diện widget Taxonomy Picker

Giao diện widget Taxonomy Picker

Cũng nên nói thêm rằng theo như mình thử nghiệm thì cái widget search này làm việc rất tốt với tiếng Việt, vì cho dù bạn nhập từ khóa có dấu vào để tìm kiếm thì nó cũng sẽ tự động bỏ dấu đi và dĩ nhiên các kết quả có dấu vẫn hiển thị ra, hoặc nếu bạn cần tốt hơn nữa thì có thể dùng kèm với plugin Search Everything.

Nhược điểm

Hiện tại Taxonomy Picker chỉ có nhược điểm duy nhất đó là không hỗ trợ lọc theo post type. Nhưng mà có thể tạm fix bằng cách chèn code này vào trong file functions.php

  function searchfilter($query) {
  if ($query->is_search && !is_admin() ) {
  $query->set('post_type',array('post','page'));
}
  return $query;
}
  add_filter('pre_get_posts','searchfilter');

Công dụng của đoạn code này đó là nó sẽ chỉ định post type nào được sử dụng trong tính năng tìm kiếm. Bạn có thể thay array('post','page') thành các post type mà bạn muốn sử dụng.

Tải và cài đặt Taxonomy Picker

Bạn cài đặt Taxonomy Picker như việc cài plugin thông thường. Sau đó vào Appearance -> Widgets và thêm widget Taxonomy Picker vào sidebar, rồi bạn có thể tùy chọn bật các taxonomy mà bạn muốn nó được lọc ra.

Một số plugin tương tự:

  • Advance WP Query Search Filter – Hơi khó dùng, nhưng có thể làm việc với post type, taxonomy và cả custom field.
  • Ajax WP Query Search Filter – Đẹp, nhưng mà dễ xung đột và không phải theme nào cũng dùng được.
  • WP Ultimate Search – Khá hay nhưng dùng có vẻ không thân thiện lắm, cần phải trả phí để thêm các custom taxonomy hoặc post type.

Chỉ đơn giản vậy thôi, chúc các bạn thành công!




data vpn

Leave your comment