For the complete documentation index, see llms.txt. This page is also available as Markdown.

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;
}

Last updated