Add method to translate link
By default, Weglot translate link based on some pattern. In the exemple below, we want to translate link in data-link2 attr. To do this we use the weglot_get_replace_modify_link filter to add a new pattern to our parser.
Copy add_filter ( 'weglot_get_replace_modify_link' , 'custom_weglot_get_replace_modify_link' ) ;
function custom_weglot_get_replace_modify_link ( $data ) {
$data[ 'datalink2' ] = '/<([^\>] + ?)?data-link2=(\"|\')([^\s\>] + ?)(\"|\')([^\>] + ?)?>/' ;
return $data;
}
function replace_datalink2 ( $translated_page , $current_url , $quote1 , $quote2 , $sometags = null , $sometags2 = null ) {
$request_url_services = weglot_get_service ( 'Request_Url_Service_Weglot' ) ;
$replace_url_Service = weglot_get_service ( 'Replace_Link_Service_Weglot' ) ;
$current_language = $request_url_services -> get_current_language () ;
$translated_page = preg_replace ( '/<' . preg_quote ( $sometags , '/' ) . 'data-link2=' . preg_quote ( $quote1 . $current_url . $quote2 , '/' ) . '/' , '<' . $sometags . 'data-link2=' . $quote1 . $replace_url_Service -> replace_url ( $current_url , $current_language ) . $quote2 , $translated_page ) ;
return $translated_page;
}