当客户未填写所有必填字段时,我想更改结帐页面上出现的错误消息的文本。 Currnetly,消息将显示需要填写的每个字段,例如: "帐单邮寄地址是必填字段。 帐单邮政编码是必填字段。 电子邮件地址是必填字段。 ..."
我想要一条消息说“#34;请填写必填字段。"或者,如果需要填写多个字段"请填写必填字段。"
有谁知道怎么做这个?我的PHP有限。 谢谢!
答案 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表单,如我帐户页面的编辑地址等。