在WooCommerce Checkout页面上,我添加了一个客户必须输入结账的额外字段 .
我想在woocommerce_cart_calculate_fees动作挂钩中访问此字段的值 .
我通过使用woocommerce->客户数据和订单数据尝试了几种方法但却无法获得 Value . 非常感谢任何帮助 .
/* WooCommerce Add Extra Fees */
add_action( 'woocommerce_cart_calculate_fees','endo_handling_fee' );
function endo_handling_fee() {
global $woocommerce, $post;
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
// Get the order ID
$order = new WC_Order($post->ID);
// to escape # from order id
$order_id = trim(str_replace('#', '', $order->get_order_number()));
// Here is where I want to get the field value
$orderFee = get_post_meta( $order_id, 'decedents_name_field', true );
}
1 回答
我遇到了同样的问题 . 如果购物车中的产品数量少于一定数量并且用户想要交货(我的自定义字段),则需要支付运费 . 我最终要做的就是通过AJAX将数据发送到服务器,如下所示:
然后获取该数据并将其放入SESSION变量中
从那里,您的服务器现在可以访问您的自定义字段具有的任何值 .
正如helgatheviking指出的那样,该订单尚未提交但不存在 . 我能看到你获得所需数据的唯一方法是通过AJAX将其发送到服务器 .
如果这令人困惑,请查看我用于更多信息的source .