Tôi đang sử dụng bộ lọc post_where để sửa đổi các tìm kiếm của người dùng trên web, nhưng tôi phát hiện ra rằng một số tiện ích mặc định như "các bài đăng gần đây" cũng sử dụng bộ lọc này và hành vi của chúng cũng được sửa đổi. Tôi đang cố gắng tìm cách để tránh mọi thứ khác ngoài tìm kiếm của người dùng sử dụng bộ lọc tests_where.
Đây là mã của tôi:
add_filter( 'posts_where' , 'posts_where_statement' );
function posts_where_statement( $where ) {
global $wp_query;
global $expp;
global $wpdb;
$local_db = $wpdb->prefix."posts";
$front_page_id = get_option('page_on_front');
if ( ('page' != get_option('show_on_front') || $front_page_id != $wp_query->query_vars['page_id']) && (!($wp_query->is_search)) )
return $where;
//some $where modifications
remove_all_actions ( '__after_loop');
return $where;
}
Có bất kỳ chức năng nào khác hoặc một cách để làm cho hook / bộ lọc này chỉ hoạt động với truy vấn tìm kiếm không? (một trong đó lấy kết quả từ đầu vào của người dùng)
$q
mặc dù.