Trong WP_Query () có một đối số 'post__not_in' trong đó bạn có thể loại trừ ID bài đăng cụ thể.
Bạn sẽ tạo một WP_Query mới bên trong search.php của bạn và sử dụng $ query_args hiện tại, sau đó thêm vào 'post__not_in' của bạn.
Nếu bạn muốn làm cho nó năng động hơn, bạn cũng có thể xây dựng trong một số meta bài đăng nơi bạn có thể thực hiện một truy vấn meta và loại trừ tất cả những gì đã "loại trừ" được kiểm tra. (tra cứu 'register_meta_box_cb' trong register_post_type ).
Ví dụ,
add_action('pre_get_posts','wpse67626_exclude_posts_from_search');
function wpse67626_exclude_posts_from_search( $query ){
if( $query->is_main_query() && is_search() ){
//Exclude posts by ID
$post_ids = array(7,19,21);
$query->set('post__not_in', $post_ids);
}
}
register_post_type