Site icon Init HTML

Giới hạn tìm kiếm chỉ trong tiêu đề của bài viết WordPress

Cách làm rất đơn giản, bạn chỉ cần mở tập tin functions.php thêm đoạn code sau:

/*
 * Search only by title
 */
function wpse_11826_search_by_title($search, $wp_query) {
    if (! empty($search) && ! empty($wp_query->query_vars['search_terms'])) {
        global $wpdb;
        $q = $wp_query->query_vars;
        $n = ! empty($q['exact']) ? '' : '%';
        $search = array();
        foreach ((array) $q['search_terms'] as $term)
            $search[] = $wpdb->prepare("$wpdb->posts.post_title LIKE %s", $n . $wpdb->esc_like($term) . $n);
        if (! is_user_logged_in())
            $search[] = "$wpdb->posts.post_password = ''";
        $search = ' AND ' . implode(' AND ', $search);
    }
    return $search;
}
add_filter('posts_search', 'wpse_11826_search_by_title', 10, 2);

Đoạn code bên trên sẽ áp dụng cho tất cả các query tìm kiếm trên blog, nếu bạn muốn giới hạn cho một query nhất định nào đấy thì bạn chỉ cần thêm thuộc tính vào trong query_vars và sau đó kiểm tra lại cho trùng khớp là được. Chúc các bạn thành công!

Exit mobile version