Tìm kiếm chính xác tiêu đề WordPress

Tìm kiếm chính xác tiêu đề WordPress

16/11/2022 - 11

[Thủ thuật WordPress] Hướng dẫn cách tìm kiếm chính xác tiêu đề hoặc nội dung trong WordPress – Nếu bạn thường xuyên sử dụng tính năng tìm kiếm của WordPress thì bạn sẽ sớm nhận ra rằng công cụ tìm kiếm của WordPress quá ư là “Cùi chuối” bởi lẽ khi bạn gõ một cụm từ tìm kiếm nào đó thì WordPress sẽ tự động tìm kiếm tất cả những gì có trong dữ liệu liên quan đến từ khóa và hiển thị chúng, việc hiển thị các thông tin  không theo một chuẩn mực nào cả mà nó hiển thị một cách ngẫu nhiên điều này làm cho loãn thông tin khi người dùng sử dụng tính năng tìm kiếm.

Nếu bạn cảm thấy không yêu thích tính năng tìm kiếm của WordPress bạn muốn thay đổi cách tìm kiếm? bạn muốn kết quả xuất hiện tập trung vào một yêu cầu, nội dung sao đó mà kết quả bạn cần nhận được? trong bài viết này mình sẽ hướng dẫn các bạn cách tùy biến công cụ tìm kiếm WordPress để có thể tìm kiếm dựa theo tiêu đề và nội dung hoặc tìm kiếm từ khóa trong tiêu đề.

Tìm kiếm chính xác tiêu đề hoặc nội dung trong WordPress

#1 Tìm kiếm chính xác trong nội dung và tiêu đề

Khi sử dụng tính năng tìm kiếm này kết quả hiển thị sẽ được theo theo tiêu đề và nội dung có từ khóa liên quan cần tìm kiếm.

Đầu tiên bạn hãy truy cập vào tập tin functions.php của giao diện đang sử dụng sau đó Copy đoạn mã bên dưới và dán vào cuối tập tin là được.

add_filter('posts_search', 'pvs_search_is_exact', 20, 2);
function pvs_search_is_exact($search, $wp_query){
    global $wpdb;
    if(empty($search))
        return $search;
    $q = $wp_query->query_vars;
    $n = !empty($q['exact']) ? '' : '%';
    $search = $searchand = '';
    foreach((array)$q['search_terms'] as $term) :
        $term = esc_sql(like_escape($term));
        $search.= "{$searchand}($wpdb->posts.post_title REGEXP '[[:<:]]{$term}[[:>:]]') OR ($wpdb->posts.post_content REGEXP '[[:<:]]{$term}[[:>:]]')";
        $searchand = ' AND ';
    endforeach;
    if(!empty($search)) :
        $search = " AND ({$search}) ";
        if(!is_user_logged_in())
            $search .= " AND ($wpdb->posts.post_password = '') ";
    endif;
    return $search;
}

Sau đó lưu lại tập tin và thử tìm kiếm từ khóa nào đó xem sao bạn sẽ thấy kết quả tìm kiếm được lượt bỏ đáng kể.

#2 Tìm kiếm chính xác tiêu đề

Tương tự khi sử dụng tính năng tìm kiếm này kết quả hiển thị sẽ được theo theo tiêu đề có từ khóa liên quan cần tìm kiếm.

Đầu tiên bạn cũng truy cập vào tập tin functions.php của giao diện đang sử dụng sau đó Copy đoạn mã bên dưới và dán vào cuối tập tin là được.

add_filter('posts_search', 'pvs_search_is_exact', 20, 2);
function pvs_search_is_exact($search, $wp_query){
    global $wpdb;
    if(empty($search))
        return $search;
    $q = $wp_query->query_vars;
    $n = !empty($q['exact']) ? '' : '%';
    $search = $searchand = '';
    foreach((array)$q['search_terms'] as $term) :
        $term = esc_sql(like_escape($term));
        $search.= "{$searchand}($wpdb->posts.post_title REGEXP '[[:<:]]{$term}[[:>:]]')";
        $searchand = ' AND ';
    endforeach;
    if(!empty($search)) :
        $search = " AND ({$search}) ";
        if(!is_user_logged_in())
            $search .= " AND ($wpdb->posts.post_password = '') ";
    endif;
    return $search;
}

Sau đó lưu lại tập tin và thử tìm kiếm từ khóa nào đó xem sao bạn sẽ thấy kết quả được lượt bỏ đáng kể. Quá đơn giản để bạn có thể tìm kiếm chính xác tiêu đề hoặc nội dung trong WordPress phải không?

Chú ý: Nếu tập tin functions.php không phải là tập tin của giao diện con (Child theme) thì mỗi lần giao diện được cập nhật mới bạn bạn thực hiện lại các thao tác trên một lần nữa. Nếu bạn có giao diện con thì bạn không cần phải thực hiện lại các thao tác trên.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết liên quan
Hướng dẫn kích hoạt ionCube Loader PHP Extension trong Cpanel

Hướng dẫn kích hoạt ionCube Loader PHP Extension trong Cpanel

- 24/11/2022

Trong 1 số plugin hoặc theme bắt buộc cần có ionCube để hoạt động. Vì vậy trong bài này mình sẽ hướng dẫn các bạn kích hoạt ionCube Loader Kích hoạt ionCube trong Cpanel Bước1: Chọn Select PHP Version Bước 2: Chọn iconcube_loader như hình. sau đó ấn Lưu thay đổi Xong cho cpanel rồi nhé cả nhà. Hãy vào web […]

Đọc thêm
Code tạo sidebar WordPress

Code tạo sidebar WordPress

- 18/11/2022

Cách tạo một widget có thể hơi phức tạp nhưng để tạo một sidebar thì không phức tạp như vậy, quy trình nó dễ hơn rất nhiều vì bạn chỉ cần viết vài đoạn code cơ bản. Chỉ cần hiểu rõ cấu trúc theme WordPress, bạn sẽ có thể chèn sidebar vào bất cứ đâu. […]

Đọc thêm
Code chèn Countdown Theme Flatsome

Code chèn Countdown Theme Flatsome

- 15/11/2022

Mặc định trong Theme Flatsome đã có sẵn chế độ Countdown, tuy nhiên rất ít người biết đến. Để hiển thị tính năng Countdown Theme Flatsome ( đếm ngược ) bạn chỉ cần sử dụng đoạn code dưới đây. Bạn chỉ cần chèn class “count-up” như ví dụ bên dưới: <span class=”count-up”>1996</span> Sau đó các […]

Đọc thêm
Hiển thị số sản phẩm đã bán trong chi tiết sản phẩm woocommerce

Hiển thị số sản phẩm đã bán trong chi tiết sản phẩm woocommerce

- 14/11/2022

Code dưới đây sẽ cho chúng ta số lượng sản phẩm đã bán ra của 1 sản phẩm nào đó trong trang single product. Các bạn chỉ cần thêm đoạn code vào file functions.php của theme đang sử dụng là được   add_action( ‘woocommerce_single_product_summary’, ‘wc_product_sold_count’, 11 ); function wc_product_sold_count() { global $product; $units_sold = get_post_meta( […]

Đọc thêm
Contact Me on Zalo