更改或翻译Woocommerce中的特定文本

时间:2014-12-02 21:59:47

标签: php wordpress woocommerce translation gettext

我在网上找到了一个解决方案,但似乎没有用。

它说要编辑我几天前做过的下面的文件,但不知何故它还没有工作。

/wp-content/plugins/woocommerce/templates/single-product/related.php

如果我FTP到服务器,文件显示如下:

if ( $products->have_posts() ) : ?>

<div class="related products">

    <h2><?php _e('You may also like', 'woocommerce' ); ?></h2>

然而,该网页仍然显示了相关产品&#39;而不是&#39;您可能也喜欢&#39;

出于某种原因,这不是在某个地方发生或过度骑行。

有什么想法吗?

7 个答案:

答案 0 :(得分:21)

我为孩子发现了这个函数.php:http://speakinginbytes.com/2013/10/gettext-filter-wordpress/

redirect_to

在这里效果很好:https://mo-sound.com/en/shop/ball-speaker-classic-white/

答案 1 :(得分:8)

覆盖默认模板的最佳方法是将文件复制到当前主题中名为/woocommerce/single-product的文件夹中。对该文件进行更改。

通常要覆盖Woocommerce模板文件,例如

/wp-content/plugins/woocommerce/templates/<foldername>/<filename>

将文件复制到

/wp-content/<your-theme>/woocommerce/<foldername>/<filename>

答案 2 :(得分:3)

以下是user5217948的代码,其中包含Frithir所需的案例更新:

// CHANGE RELATED PRODUCTS TEXT
function my_text_strings( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {
        case 'Related products' :
            $translated_text = __( 'You may also like...', 'woocommerce' );
            break;
    }
    return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );

此代码适用于WooCommerce 3.3.1和WordPress 4.9.4(均大约2018年2月)。

答案 3 :(得分:2)

针对那些拥有woocommerce / wordpress的其他语言的人的友善提示

您必须将“相关产品”替换为您的语言显示的文字。就我而言,相关产品会翻译为“ productos relacionados”

function my_text_strings( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {
        case 'Productos relacionados' :
            $translated_text = __( 'Completá el look', 'woocommerce' );
            break;
    }
    return $translated_text;
}

add_filter( 'gettext', 'my_text_strings', 20, 3 );

答案 4 :(得分:2)

2020更新

现在可以使用更准确的过滤器来代替建议的搜索和替换方法。

您将此代码段添加到子主题中的functions.php文件中。

似乎这需要WooCommerce 3.9.0

/*-------------- Change related products text -------------*/
add_filter( 'woocommerce_product_related_products_heading', 'single_related_text' );

function single_related_text(){
    return __('These products might be cool', 'woocommerce');
}

答案 5 :(得分:0)

一些PHP代码段。将PHP代码段放在子主题functions.php文件的底部:wp-content/themes/mythemename/functions.php

add_filter( 'gettext', 'mythemename_translate_woocommerce_strings', 999, 3 );

function mythemename_translate_woocommerce_strings( $translated, $text, $domain ) {

    $translated = str_ireplace( 'text EN', 'text translated PT_BR', $translated );

    return $translated;
}

答案 6 :(得分:0)

我刚刚在自己的一个站点上成功使用了以下代码。它需要放在您的子主题中的functions.php中。用您要使用的单词替换“此处的自定义文字”。

add_filter( 'gettext', 'wtd_related_products_text', 20, 3 );
function wtd_related_products_text( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Related products' :
$translated_text = __( 'Your Custom Text Here', 'woocommerce' );
break;
}
return $translated_text;
}