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
To translate the results of the JetSearch plugin, reverse-translate the search term back into your original language before the query runs, then declare the JSON keys JetSearch returns so Weglot translates them.
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' );
$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'] ) ) {
$instance->search_query['s'] = $parser->translate( $instance->search_query['s'], $current_language, $original_language );
}
}
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;
}PreviousHow to hide the Weglot admin button for non administrator roles
NextExample of snippet to translate your checkout element (override/added by the Funnel Builder plugin)
Last updated