function wpse66815_search_query_string( $wp_query )
{
if (!is_admin() && is_search()) {
//print_r($search);
global $wp_query,$wpdb;
// get search term
$search_term = $wp_query->query_vars['s'];
//print_r($search_term);
// specify string we'll use to replace
$replace_var = 'TL';
// find matches for that string
preg_match_all("/{$replace_var}(?:[^0-9]*)(\d+)/i", $search_term, $out);
// if there's no matches, return the normal search
if ( empty($out[0]) )
return $wp_query;
// find/generate the search term with the replacement
$modified_search_term = preg_replace(
"/{$replace_var}(?:[^0-9]*)(\d+)/i"
,"{$replace_var}-$1"
,$search_term
);
// combine both the regular and modified search term
$new_search[] = $search_term;
$new_search[] = $modified_search_term;
print_r($new_search);
// generate the new search query
$new_string_parts[] = $wpdb->prepare(
"
AND ((({$wpdb->posts}.post_title LIKE '%%%s%%')
OR ({$wpdb->posts}.post_content LIKE '%%%s%%'))
"
,like_escape( $new_search[0] )
,like_escape( $new_search[0] )
);
$new_string_parts[] = $wpdb->prepare(
"
OR (({$wpdb->posts}.post_title LIKE '%%%s%%')
OR ({$wpdb->posts}.post_content LIKE '%%%s%%')))
"
,like_escape( $new_search[1] )
,like_escape( $new_search[1] )
);
foreach ( $new_search as $keyword)
{
if ($keyword === reset($new_search)) {
$new_string_parts[] = $wpdb->prepare(
"
AND ((({$wpdb->posts}.post_title LIKE '%%%s%%')
OR ({$wpdb->posts}.post_content LIKE '%%%s%%'))
"
,like_escape( $keyword )
,like_escape( $keyword )
);
}
elseif ($keyword === end($new_search)) {
$new_string_parts[] = $wpdb->prepare(
"
OR (({$wpdb->posts}.post_title LIKE '%%%s%%')
OR ({$wpdb->posts}.post_content LIKE '%%%s%%')))
"
,like_escape( $keyword )
,like_escape( $keyword )
);
}
else {
$new_string_parts[] = $wpdb->prepare(
"
OR (({$wpdb->posts}.post_title LIKE '%%%s%%')
OR ({$wpdb->posts}.post_content LIKE '%%%s%%'))
"
,like_escape( $keyword )
,like_escape( $keyword )
);
}
}
// set $search equal to results
$search = implode( " ", $new_string_parts );
//print_r($search);*/
}
return $wp_query;
}
add_filter('relevanssi_modify_wp_query', 'wpse66815_search_query_string');