WooCommerce 3.0 破坏了我的应用程序,我现在不知道如何修复它。
我有一个关于何时添加/更改订阅的操作:
在函数内部,我正在获取订单详细信息并找到用于变量订阅的行项目,以使用该选项更新我的自定义数据库,并获取我通过以下方式添加的自定义订单元woocommerce_form_field
:
这不再有效,一切似乎都受到保护?如何更新它以使用 3.0?
add_action( 'woocommerce_subscription_status_changed', 'update_subscription', 10, 3 );
function update_subscription( $id, $old_status, $new_status ) {
$sitelink_db = new SSLA_DB_Sitelink();
$order = new WC_Order( $id );
$items = $order->get_items();
$subscription_type = '';
$user_id = $order->get_user_id();
$sitelink_domain = get_post_meta( $order->id, 'ssla_sitelink_url', true );
foreach ($items as $item) {
if( "SiteLink Subscription" === $item['name'] ) {
$subscription_type = $item['brand'];
}
}
$customer_data = array(
'user_id' => $user_id,
'subscription_type' => $subscription_type,
'domain_referrer' => $sitelink_domain,
'active_subscription' => $new_status,
'date_modified' => date( 'Y-m-d H:i:s' ),
);
$sitelink_db->add( $customer_data );
}
基本上,我需要获取订阅的变体名称以存储在我的数据库中,以及我制作的自定义元字段。哪个也不再起作用