wordpress - 更新 Woocommerce 订阅订单项元数据
问题描述
我正在尝试更新所有订阅以包含“交货频率”和“每批货物的袋数”的元数据。交货频率和每批货物的袋数是产品属性。我可以在最初创建订单时传递这些元数据值,但现在我想返回所有活动订阅并添加这些值。
function update_subscriptions() {
$args = array('subscriptions_per_page' => '-1');
$subscriptions = wcs_get_subscriptions($args);
foreach ($subscriptions as $subscription):
$subscription_wc = new WC_Subscription($subscription->get_id());
$subscription_items = $subscription_wc->get_items();
foreach($subscription_items as $item):
$product = $item->get_product();
// Check to make sure item is a subscription product
if( class_exists( 'WC_Subscriptions_Product' ) && WC_Subscriptions_Product::is_subscription( $product ) ) {
$delivery_frequency = $product->get_attribute('pa_delivery-frequency');
$bags_per_shipment = $product->get_attribute('pa_bags-per-shipment');
if (!empty($delivery_frequency)) {
$item->update_meta_data( 'Delivery Frequency', $delivery_frequency );
}
if (!empty($bags_per_shipment)) {
$item->update_meta_data( 'Bags Per Shipment', $bags_per_shipment );
}
}
endforeach;
endforeach;
}
解决方案
推荐阅读
- javascript - 将成员计数器添加到机器人活动 discord.js
- python-3.x - 列重命名在jupyter笔记本中不起作用
- javascript - 如何使用 Laravel 和 webpack 将 node_modules 中的 javascript 对象导入 Vue
- r - 重新格式化累积数据
- jhipster-gateway - jhipster 网关:WebSocket 握手期间出错:意外的响应代码:403
- ms-access - 基于具有多个复选框的表单访问查询
- clojure - 无法从 BufferedImage 创建 Graphics2d 对象
- php - PHPUnit中的嵌套数组键值断言
- python - 由于两个错误,我无法使用 pip 在我的 Mac 中安装 Pygame
- node.js - 从 child_process.exec 和 cmd 执行命令