Thủ thuật chỉ tìm kiếm trong tiêu đề của wordpress
mặc định trong wordpress chức năng search tìm kiếm các nội dung theo từ khóa trong tiêu đề, trong nội dung… nhuwng tôi thấy nó không hoạt động đúng theo những gì mình muốn, thường thì chỉ cần tìm kiếm theo tiêu đề là đủ, nhưng kết quả thì tôi không biết nó từ đâu mà ra nhiều kết quả, đa số không dính dáng gì đến từ khóa mình tìm.
trong bài viết này tôi chỉ các bạn một cách để khắc phục điều này, không làm mất thời gian của bạn đâu, chỉ mất khoảng 1 phút kể từ lúc này thôi.
bạn copy đoạn code sau của tôi bỏ vào file functions.php trong theme mà bạn đang dùng nhé.
function __search_by_title_only( $search, &$wp_query )
{
global $wpdb;
if ( empty( $search ) )
return $search; // skip processing - no search term in query
$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 LIKE '{$n}{$term}{$n}')";
$searchand = ' AND ';
}
if ( ! empty( $search ) ) {
$search = " AND ({$search}) ";
if ( ! is_user_logged_in() )
$search .= " AND ($wpdb->posts.post_password = '') ";
}
return $search;
}
add_filter( 'posts_search', '__search_by_title_only', 500, 2 );
xong rồi, giờ bạn thử lại xem có được không? quá dễ dàng đúng không?