前言
WordPress 其實是有全站式的關鍵字搜尋,可以讓前台使用者擁有關鍵字搜尋的方式搜尋想要查看的東西。
而如果你有搭配 Jet Smart Filter 這套外掛,會更好用,當然有些人會使用 Google 自訂搜尋 來取代 WordPress 預設的站內搜尋 也是一種方法。
但如果你還是希望能夠直接使用 WordPress 的站內搜尋,它則會包含搜尋到文章的內容任何關鍵字,而不是單純以標題搜尋。
以下就要教你如何直接將預設搜尋改為使用標題搜尋。
教學
將以下的語法,置入在functions.php內:
// 只讓搜尋允許標題搜尋 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($wpdb->esc_like($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 = '') , AND ($wpdb->posts.post_type = 'profile') "; } return $search; } add_filter('posts_search', '__search_by_title_only', 500, 2);
這樣就大功告成囉!