Làm cách nào để xóa Trang khỏi tìm kiếm?


13

Tôi không cần tìm kiếm các trang trong trang web của mình và chỉ muốn tìm kiếm các bài đăng, có cách nào để làm điều đó không? Cảm ơn

search 

Câu trả lời:


27

Dưới đây sẽ làm cho loại bài đăng trang không còn có thể tìm kiếm.

function remove_pages_from_search() {
    global $wp_post_types;
    $wp_post_types['page']->exclude_from_search = true;
}
add_action('init', 'remove_pages_from_search');

Tôi đặt mã đó ở đâu? Cảm ơn

Bạn có thể đặt nó trong hàm.php của chủ đề của bạn.
Prettyboymp

Cảm ơn rất nhiều Tôi chỉ sao chép dán nó và nó hoạt động hoàn hảo

13

Phần sau trong Hàm.php cũng hoạt động tốt:

//Remove pages from search results
function mySearchFilter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','mySearchFilter');

shuold là sự châm biếm. thanh lịch hơn, dễ bảo trì hơn. hte ở trên chỉ sửa đổi các thông số loại bài đăng, đây là truy vấn tìm kiếm chính nó. +1
kaiser

Sửa đổi đối tượng loại bài đăng cho loại bài đăng 'trang' là một giải pháp tốt hơn. Giải pháp này buộc loại bài đăng phải được đặt cứng là 'bài đăng' cho tất cả các truy vấn tìm kiếm sẽ giữ cho bất kỳ loại bài đăng tùy chỉnh nào hiển thị trong tìm kiếm nếu một trang web có bất kỳ. Toàn cầu đặt thuộc tính loại trừ_from_search của đối tượng loại bài đăng 'trang' có nghĩa là bất kỳ mã nào phụ thuộc vào việc kiểm tra thuộc tính này sẽ có thông tin chính xác.
Prettyboymp

Liên kết phần nào có liên quan với một ít thông tin hơn: codex.wordpress.org/...
its_me

Hoạt động tốt nhưng không làm xáo trộn chủ đề trong bbpress, vì vậy nó không tốt. Sử dụng "$ wp_post_types ['page'] -> Elim_from_search = true;" là một lựa chọn tốt dường như
Kishore Sahoo

0

đặt cái này vào search.php của bạn

<?php if (is_search() && ($post->post_type=='page')) continue; ?>

ngay bên dưới mã này -> <?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>

bạn có thể tìm thêm ở đây http://wordpress.org/support/topic/possible-search-only-posts-exclude-pages


Tôi không có search.php nếu tôi lấy một từ một chủ đề khác thì nó có hoạt động không? Cảm ơn

Đúng. đầu tiên tạo một search.php trống, sau đó sao chép và dán mã từ index.php. sau đó làm những gì tôi nói với bạn ở trên
andrewk

1
thực ra bạn nên sử dụng mã của @ beautifulboymp. nó dễ dàng hơn và làm những gì bạn yêu cầu. tôi đã thử nó nếu bạn muốn ..
andrewk

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.