我使用WooCommerce的插件“结帐字段编辑器”设置了3个自定义结帐字段。我已对其进行了设置,以使这些字段显示在电子邮件和订单屏幕上,但是我还需要将这些字段中的信息也发送到PayTrace付款处理器。与PayTrace插件开发人员交谈后,我具有用于添加发送到PayTrace的其他信息订单信息的代码(下面的链接),但是我不确定如何正确/安全地检索自定义结帐字段数据,以便随后将其包括在内。
用于在发送到PayTrace的信息中添加其他数据的代码。 https://gist.github.com/vanbo/dc3d9bc8660a7de33aafb44dde3033fa
答案 0 :(得分:0)
通常,Woocommerce Order元数据通常总是在前加下划线字符。例如,帐单名meta_key
将是_billing_first_name
。
因此,您需要首先在 wp_postmeta
表中查找最后的Woocommerce订单(post_id
,即订单ID),以获取正确的必要在以下代码中使用的元键。
假设您的自定义元键是:
_event_code
用于事件代码 _event_date
for 活动日期 _event_name
(事件名称 完成后,您将在以下代码中获取并设置该数据,例如:
add_filter( 'wc_paytrace_transaction_request', 'custom_data_paytrace_transaction_request', 10, 5 );
function prefix_filter_paytrace_transaction_request( $request_parameters, $order, $amount, $is_subscription, $is_paid_with_profile ) {
$event_code = $order->get_meta( '_event_code', true );
if( ! empty($event_code) )
$request_parameters['event_code'] = $event_code;
$event_date = $order->get_meta( '_event_date', true );
if( ! empty($event_date) )
$request_parameters['event_date'] = $event_date;
$event_name = $order->get_meta( '_event_name', true );
if( ! empty($event_name) )
$request_parameters['event_name'] = $event_name;
return $request_parameters;
}
您应该检查$request_parameters
的阵列键是否正确使用了。
代码进入活动子主题(或活动主题)的function.php文件中。应该可以。