Поиск woocommerce по заголовку title или любым полям custom fields

от 2018 - 08 - 20

Решение нашел тут — http://jamescollings.co.uk/blog/extending-woocommerce-search-query-include-custom-fields/

Внутри 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;

	if(!empty($q['search_terms'])){
		$search = join(' ', $q['search_terms']);
// Тут самое интересное, мы в условие SQL запроса добавляем проверку по полю title, если надо.
		$search = " AND ($wpdb->posts.post_title LIKE '".$_GET['s']."%')"; // % в конце заставит запрос работать быстрее, только при этом
// из результата выпадут заголовки содержащие искомое слово по середине или в конце строки. Покажутся только те товары, у которых заголовки
// начинаются со слова поиска. Если хотите расширить диапазон результатов, добавьте % и перед искомым словом
// вот так $search = " AND ($wpdb->posts.post_title LIKE '%".$_GET['s']."%')";
	}
	
    return $search;
}
add_filter('posts_search', '__search_by_title_only', 500, 2);