【发布时间】:2017-12-07 23:28:26
【问题描述】:
我正在尝试获取客户在结帐时从订单中选择的变体值(通过 id 或其他方式)以映射到用于构建 API url 的变量 $storage 和 $tier。
我尝试了多种方法将数据获取到变量中,但 API url 失败,这让我相信我的变量上没有缩进值。
我目前的代码如下(摘录):
add_action( 'woocommerce_order_status_processing', 'my_function' );
function my_function( $order_id ) {
$order = wc_get_order( $order_id );
$items = $order->get_items();
foreach ( $items as $key => $item ) {
$storage = get_post_meta( $key, 'attribute_addon-storage' );
$tier = get_post_meta( $key, 'attribute_subscription-type' );
有谁知道我将如何获取这两个变量的值,addon-storage 和订阅类型?
我可以在woocommerce_order_itemmeta 表中看到我想在我的数据库中获取的值。
我可以从那里获取值吗?
编辑:
所以按照LoicTheAztec的建议,获取我在woocommerce_order_itemmeta 表中看到的数据值为$meta_key 的正确方法是:
add_action( 'woocommerce_order_status_processing', 'my_function', 10, 1 );
function my_function( $order_id ) {
$order = wc_get_order( $order_id );
$items = $order->get_items();
foreach ( $items as $key => $item ) {
$storage = wc_get_order_item_meta( $key, 'addon-storage', true );
$tier = wc_get_order_item_meta( $key, 'subscription-type', true );
$anyMetaValue = wc_get_order_item_meta( $key, '$meta_key', true );
// Then I can create the variable I need in the the API url with:
$package = "$tier$storage";
【问题讨论】:
标签: php wordpress woocommerce metadata orders