I used to have the following function working to change to Related Products text in Woocommerce.
function my_text_strings( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Related Products' :
$translated_text = __( 'Related Books', 'woocommerce' );
break;
}
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );
It always worked perfectly, but as of Woocommerce version 3.0 or so, this function no longer works.
How should I fix this in order to make it working in the version 3.0 and up?
Try this, it's working with me
add_filter( 'gettext', 'wps_translate_words_array' );
add_filter( 'ngettext', 'wps_translate_words_array' );
function wps_translate_words_array( $translated ) {
$words = array(
// 'word to translate' = > 'translation'
'Related Products' => 'Check out these related products',
);
$translated = str_ireplace( array_keys($words), $words, $translated );
return $translated;
}