更改woocommerce错误消息

时间:2016-08-21 05:16:43

标签: wordpress woocommerce

当客户未填写所有必填字段时,我想更改结帐页面上出现的错误消息的文本。 Currnetly,消息将显示需要填写的每个字段,例如: "帐单邮寄地址是必填字段。 帐单邮政编码是必填字段。 电子邮件地址是必填字段。 ..."

我想要一条消息说“#34;请填写必填字段。"或者,如果需要填写多个字段"请填写必填字段。"

有谁知道怎么做这个?我的PHP有限。 谢谢!

2 个答案:

答案 0 :(得分:1)

更新代码:

在function.php文件中添加此代码:

function my_woocommerce_add_error( $error ) {
    if (strpos($error,'required') !== false) {
        $error = 'Required';
    }
    return $error;
}
add_filter( 'woocommerce_add_error', 'my_woocommerce_add_error' );

并在notices \ error.php文件中添加此代码:

<ul class="woocommerce-error">
    <?php 
    $totalReq = count(array_keys($messages, 'Required')); 
    $removeReq = array_diff($messages, ["Required"]);

    if($totalReq > 1){
        echo '<li>Please fill in all the <strong>required</strong> fields.</li>';
    }else{
        echo '<li>Please fill in the <strong>required</strong> field.</li>';
    }
    ?>
    <?php foreach ( $removeReq as $message ) : ?>
        <li><?php echo wp_kses_post( $message ); ?></li>
    <?php endforeach; ?>
</ul>

希望它能解决您的问题:)

答案 1 :(得分:0)

此代码适用于一般所需的错误消息显示。但它依赖于网站的语言来搜索字符串&#39; required&#39;在strpos功能中,需要根据您的网站语言进行更改。

此外,在代码中,错误模板文件需要从

更改
[
  {
    "id": 1,
    "title": "Kung Fu Panda",
    "release_date": "01-01-2001",
    "video": "",
    "IMDBURL": "link.com",
    "genres": [
      "abc",
      "def"
    ],
    "users": {
      "user_id": 2,
      "ratings": 3,
      "timestamps": "2342478"
    }
  }
]

$removeReq = array_diff($messages, ["Required"]);

比起它的魅力。 很好的想法覆盖错误消息。尚未找到解决方案,但这非常有用。

但它适用于所有的woocommerce表单,如我帐户页面的编辑地址等。