Mặc định WordPress sẽ tìm kiếm toàn bộ Pages, Post và custom post type trong kết quả tìm kiếm. Đôi khi bạn chỉ muốn hiển thị kết quả tìm kiếm của Post thôi thì đoạn code sau đây sẽ giúp bạn làm chuyện đấy 😀
Thêm đoạn code sau vào file funcstions.php và theme bạn đang sửa dụng nhé.
Để duy trì blog nên mình có làm aff cho 1 số bên hosting. Nhưng dù aff mình cũng chọn 1 số nhà cung cấp uy tín về chất lượng và support nên các bạn cứ yên tâm nhé.
Nếu có mua hosting mà có trong list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều
- Azdigi: Giá rẻ thì dùng gói Pro Gold Hosting còn chất lượng hơn thì em khuyên dùng Business Hosting. Có điều kiện thì lên VPS nhé
- Tino hosting
- iNet
- Nước ngoài thì Vultr
/* * Loại trừ pages và custom post type trong kết quả tìm kiếm của WordPress */ function SearchFilter($query) { if ( is_admin() || ! $query->is_main_query() ) return; if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','SearchFilter');
Trong đoạn code trên sẽ giúp bạn loại trừ được các pages và custom post type trong kết quả tìm kiếm. Chỉ hiển thị kết quả của Post thôi. Và cũng chỉ làm việc ngoài frontend nhé.
Chú ý: Nếu muốn thêm custom post type nào đó vào kết quả bạn chỉ cần thêm slug của custom post type đó vào đoạn này là okie
/* * Thay custom_post_type_slug bằng slug của bạn */ $query->set('post_type', array('post',' custom_post_type_slug'));
Chúc bạn thành công ^^
- Bình luận