Làm thế nào để sử dụng các mẫu tìm kiếm nhiều trong WordPress

Gần đây chúng tôi đã giới thiệu cho bạn cách giới hạn kết quả tìm kiếm cho các loại bài đăng cụ thể trong WordPress. Bây giờ chúng tôi sẽ chỉ cho bạn cách bạn có thể tạo các mẫu tìm kiếm khác nhau / nhiều lần. Bằng cách này mỗi hình thức có thể được giới hạn để tìm kiếm một loại bài đăng cụ thể. Mặc dù đây không phải là rất khó khăn nó sẽ yêu cầu bạn phải có một sự hiểu biết cơ bản về WordPress mẫu.

Trước tiên, bạn sẽ cần một số mẫu tìm kiếm. Đặt mã sau đây bất cứ nơi nào bạn muốn họ được trong blog của bạn:


Để chỉ định loại tìm kiếm mẫu này sẽ được thực hiện, chỉ cần thay đổi giá trị của trường ẩn. Ngay bây giờ nó được thiết lập để “bình thường” nhưng nó có thể là bất cứ điều gì bạn muốn. Tiếp theo, chúng ta cần sửa đổi tệp search.php. Mở nó lên và thay thế mọi thứ bằng mã này (sao chép mã hiện tại vào khay nhớ tạm của bạn trước, bạn sẽ cần nó trong một phút):


Vì vậy, chúng tôi sẽ giả định rằng bạn có hai hình thức tìm kiếm, bình thường và sách. Mã này chỉ đơn giản là chuyển hướng tìm kiếm vào tệp php xử lý truy vấn cụ thể đó. Bây giờ chúng ta chỉ cần tạo ra các tệp đó. Vì vậy, hãy tiếp tục và tạo một tệp tin search.php và books-search.php bình thường (chỉ cần thay thế “bình thường” và “sách” bằng bất kỳ giá trị nào bạn đã sử dụng).

Bây giờ, trong bản thông thường-search.php sao chép và dán đoạn mã sau:

$ args = array ('post_type' => 'bài đăng');
 $ args = array_merge ($ args, $ wp_query-> query);
 query_posts ($ args); 

Ngay sau khi dán mã vòng lặp từ khay nhớ tạm của bạn mà bạn đã sao chép từ tệp search.php. Cùng với nhau, mã này sẽ chỉ tìm các bài viết bình thường trên blog của bạn. Bây giờ, trong tập tin search.php-sách này thêm mã này và dán một vòng lặp ngay sau nó:

$ args = array ('post_type' => 'sách');
 $ args = array_merge ($ args, $ wp_query-> query);
 query_posts ($ args); 

Điều này sẽ khiến WordPress chỉ tìm kiếm cho loại bài đăng tùy chỉnh của “sách”. Bạn có thể lặp lại quá trình này cho nhiều dạng tìm kiếm như bạn muốn.