wordpress - 在所有其他通知之后在结帐时添加 WC 通知
问题描述
我正在尝试使用以下代码在 WooCommerce 结帐中添加错误通知:
add_action('woocommerce_after_checkout_validation', 'validate_checkout_email_opt', 999);
function validate_checkout_email_opt()
{
if (!$_POST['terms_emails']) {
wc_add_notice(__('Bitte stimme zu, dass du den Hinweis zu unseren E-Mail- und SMS-Benachrichtigungen gelesen hast.'), 'error');
}
}
显示错误消息,但不幸的是,它显示在所有错误列表的顶部。我想把它放在最后(因为它是结帐表单中的最后一个字段),或者理想情况下,把它放在列表中的特定位置。
我已经扫描了 WooCommerce 的核心代码,但找不到可用于此目的的过滤器或操作。我尝试了许多不同的过滤器,但都没有成功。它要么根本不显示,要么在开始时显示。
将“优先级”设置为“999”也无济于事。
有人有这个问题的解决方案吗?谢谢!
我正在使用 WC V 3.3.5
解决方案
你应该这样做。
add_action('woocommerce_after_checkout_validation', 'validate_checkout_email_opt', 10, 2);
function validate_checkout_email_opt( $data, $errors )
{
if (!$_POST['terms_emails']) {
$errors->add( 'terms-email', __('Bitte stimme zu, dass du den Hinweis zu unseren E-Mail- und SMS-Benachrichtigungen gelesen hast.') );
}
}
样本结果:
推荐阅读
- python - keras,模型(数据)是什么意思
- excel - Excel:考虑到一天,以 30 分钟的间隔计算总计划
- ajax - 初学者 - 使用 django 的数据表服务器端处理
- firebase - Firestore获取值不在数组中的文档?
- html - 如果我初始化选中,则无法选中或取消选中复选框
- angular - NgbModal 在 IE chrome 的顶部显示在其中心
- spring - Spring boot - 可执行的战争也可部署到应用服务器
- python - tia bbg python - 覆盖“#N/A 字段不适用”
- powershell - 显示空格的变量的命令输出
- spring-mvc - 使用 Spring MVC 测试框架测试安全的 REST 端点