在 Woocommerce 3 中重命名相关产品标题

Rename Related Products title in Woocommerce 3

我曾经使用以下功能来更改 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 );

它一直运行良好,但从 Woocommerce 3.0 左右版本开始,此功能不再有效。

我应该如何解决这个问题才能使其在 3.0 及更高版本中正常工作?

试试这个,它对我有用

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

一个简单的替代方法

Overriding Woocommerce templates via your theme for the single-product/related.php模板文件,可直接重命名:

<h2><?php esc_html_e( 'Related products', 'woocommerce' ); ?></h2>

收件人:

<h2><?php esc_html_e( 'Related Books', 'woocommerce' ); ?></h2>

现在有一个过滤器。 名字是 "woocommerce_product_related_products_heading"

因此您可以在自己的主题 functions.php 文件中添加一个小片段,例如:

add_filter('woocommerce_product_related_products_heading',function(){

   return 'My Custom nice related title';

});