Copy use WeglotWP\Helpers\Helper_API;
add_filter( 'aws_search_terms', 'my_aws_search_terms' );
function my_aws_search_terms( $terms ) {
$original_language = weglot_get_original_language();
$current_language = weglot_get_current_language();
if ( $original_language === $current_language ) {
return $terms;
}
$option_services = weglot_get_service( 'Option_Service_Weglot' );
$api_key_private = $option_services->get_api_key_private();
if ( $terms ) {
foreach ($terms as $key => $term) {
$requestBody = wp_json_encode(array(
"l_from" => $current_language,
"l_to" => $original_language,
"request_url" => home_url('/'),
"words" => array(
array("w" => $term, "t" => 1)
)
));
$url = sprintf('%s/translate?api_key=%s', Helper_API::get_api_url(), $api_key_private);
$args = array(
'body' => $requestBody,
'headers' => array(
'Content-Type' => 'application/json',
),
'method' => 'POST',
'data_format' => 'body',
);
$response = wp_remote_post($url, $args);
if (is_wp_error($response)) {
return "WP Error: " . $response->get_error_message();
}
// Get the response body.
$response_body = wp_remote_retrieve_body($response);
// Parse the JSON response.
$responseData = json_decode($response_body, true);
if (!$responseData || !isset($responseData['ids'])) {
// do nothing
}else{
$term = $responseData['to_words'][0];
$term = explode(' ', $term);
foreach ($term as $separate_term){
$terms[$key] = $separate_term;
}
}
}
}
return $terms;
}