更改WooCommerce电子邮件通知订单项目表"产品"标签

时间:2017-04-23 14:39:18

标签: php wordpress woocommerce product email-notifications

我需要更改文字(标签)"产品" to" Ticket"在WooCommerce订单项目表电子邮件通知。

我该怎么做?
有可能吗?

由于

2 个答案:

答案 0 :(得分:1)

首先,我们需要获取电子邮件ID以定位所有电子邮件通知。唯一的方法是先获取它并在全局变量中设置值。

然后在一个附加在Wordpress gettext 动作挂钩的自定义函数中,我们可以更改(翻译)" Product"在所有电子邮件通知中。

以下是代码:

 ## Tested on WooCommerce 2.6.x and 3.0+

// Setting the email_is as a global variable
add_action('woocommerce_email_before_order_table', 'the_email_id_as_a_global', 1, 4);
function the_email_id_as_a_global($order, $sent_to_admin, $plain_text, $email){
    $GLOBALS['email_id_str'] = $email->id;
}


add_filter('gettext', 'wc_renaming_email_label', 50, 3);
function wc_renaming_email_label( $translated_text, $untranslated_text, $domain ) {

    // Getting the email ID global variable
    $refNameGlobalsVar = $GLOBALS;
    $email_id = $refNameGlobalsVar['email_id_str'];

    if( !is_admin() && $email_id ) {
        if( $untranslated_text == 'Product' )
            $translated_text = __( 'Ticket', $domain );
    }
    return $translated_text;
}

此代码位于活动子主题(或主题)的function.php文件中或任何插件文件中。

此代码在WooCommerce上测试,从2.6.x到3.0+并且有效。

答案 1 :(得分:0)

如果您不想修改WooCommerce文件,请使用此插件https://wordpress.org/plugins/woo-custom-emails/

如果您想从WooCommerce文件中编辑它,请修改/ wp-content / plugins / woocommerce / templates / emails /

中的电子邮件模板