Exemple of snippet to translate search from JetSearch plugin

In this example, we use custom code to translate the search result provide by the plugin jetSearch

add_action( 'jet-search/ajax-search/search-query', 'modify_weglot_search_query', 10, 2 );
function modify_weglot_search_query($instance,$args){
	$parser_services = weglot_get_service( 'Parser_Service_Weglot' );
	$parser           = $parser_services->get_parser();
	$language_services = weglot_get_service( 'Language_Service_Weglot' );
	$request_url_services = weglot_get_service( 'Request_Url_Service_Weglot' );
	$original_language = $language_services->get_original_language()->getInternalCode();
	
	$destination_languages = weglot_get_destination_languages();
	$current_language = weglot_get_current_language();

	if($original_language === $current_language){
		return;
	}
	
	foreach ($destination_languages as $destination){
		if($destination['language_to'] === $current_language && !empty($destination['custom_code'])){
			$current_language = substr($destination['custom_code'], 0, 2);
		}
	}

	if ( ! empty( $instance->search_query['s'] ) ) {
		$new_search = $parser->translate( $instance->search_query['s'], $current_language, $original_language );
				$instance->search_query['s'] = $new_search;
			}
	
}

add_filter( 'weglot_ajax_no_translate',  'custom_weglot_ajax_no_translate' );
function custom_weglot_ajax_no_translate(  $ajax_action_array  ){
    unset($ajax_action_array[16]);
    return $ajax_action_array;
}

add_filter( 'weglot_add_json_keys',  'custom_weglot_add_json_keys' );
function custom_weglot_add_json_keys(  $keys  ){ 
    $keys[]  =  'title';
	$keys[]  =  'link';
	$keys[] = 'before_title';
	$keys[] = 'posts';
    return $keys;
}

add_filter( 'weglot_html_treat_page', 'custom_weglot_html_treat_page_1' );
function custom_weglot_html_treat_page_1( $html ) {

    $s = '{data.thumbnail}}';
    $r= '{{{data.thumbnail}}}';

    $html = str_replace( $s, $r, $html );
	$html = str_replace( '{{{{', '{{{', $html );
    return $html;
}

Last updated