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

标签 php wordpress templates woocommerce gettext

我曾经有以下功能可以在 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;
}

关于php - 在 Woocommerce 3 中重命名相关产品标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45688753/

相关文章:

c++ - 将数组传递给模板函数

c++ - Friend 模板函数(在非模板类中),C++

C++ - 有没有办法使用不变语法获取当前类类型?

php - 自动选择下拉值

javascript - 搜索事件的更好方法?

css - 字体颜色显示在 Chrome 按钮上,但不是 Safari

html - 可以为一个元素制作一个独特的(single-product.php)页面吗?

php - PHP中的分页

php - 多个PHP脚本可以同时运行吗?

php - 计算列的内容