wordpress - 在 Woocommerce 结帐中使用自定义字段值进行验证
问题描述
我想在 Woocommerce 中设置一个场景,其中购物车总额低于 100 美元且已检查“交付”选项的用户会收到一条消息,指出购物车总额太低而无法交付。
我正在使用插件(结帐字段编辑器)通过条件设置(“选择您的订单类型”)为交付选项创建自定义字段,用户可以在其中选择“取货”或“交付”。自定义字段的元键是:'_additional_wooccm0'(用于送货/取货选择框 - 选择您的订单类型);'_additional_wooccm3'(用于拾取选项列表);和“_additional_wooccm4”(用于交付选项列表)。由客户端编辑的错误消息存储在另一个自定义字段“_additional_wooccm5”中。
我的代码如下:
add_filter('woocommerce_checkout_fields', 'remove_additional_field', 999 );
function remove_additional_field ($fields) {
$found = get_post_meta($post_id,'_additional_wooccm0',true);
$cart_total = WC()->cart->get_displayed_subtotal();
if (( $cart_total < 100 ) && ($found == 'Delivery')){
unset($fields['additional']['additional_wooccm4']);
$fields['additional']['additional_wooccm5'];
} else{
$fields['additional']['additional_wooccm4'];
unset($fields['additional']['additional_wooccm5']);
}
return $fields;
}
到目前为止,当我尝试这种方法时没有任何反应,用户可以选择送货地点而不管购物车总数。如果我删除 $found == 'Delivery' 条件,则交付选项将被禁用(耶!)但无论交付类型如何,都会显示“无法交付”消息。
如何保存该自定义字段值(“交付”)并在有条件的购物车中使用它?
解决方案
推荐阅读
- html - 如何在 Wordpress 中禁用 Html 自动格式化
- assembly - 调用“ret”与调用 sys_exit 编号程序集 gcc 有什么区别
- javascript - 从 html 文件调用 javascript 文件不起作用
- linux - Postscript 到 PDF 缩放以适合 A4
- c# - System.NullReferenceException:将项目添加到列表时
- linux - git config --global user.email johndoe@example.com 锁定文件错误
- android - service.odtcfactory.sec.com.odtcfactoryservice 是 Android 7.0 上的有效系统应用吗?
- laravel - BadMethodCallException 方法 Illuminate\Database\Query\Builder::merge 不存在
- python - 当我在 python 中使用 else 时,我不断收到错误
- ruby-on-rails - RSpec:工厂级别的停止/存根 after_create 回调?