订单状态完成后更新用户元 - woocommerce

时间:2015-02-02 17:32:46

标签: php wordpress woocommerce

我已经阅读了有关此主题的各种问题,但是,在完成woocommerce订单后,我正在努力更新用户元数据。

我已在if声明中检查了product_ids并加倍(三次),并且我已经完成了多项测试付款,并且还切换了订单状态以查看用户元是否更新。我作为最后的手段来到这里。

我甚至在消除过程中手动输入$user_idproduct_id函数,但我无法将其转到update_user_meta

非常感谢任何帮助我朝正确方向前进的提示。

/**
 * Update usermeta when the order processed woocommerce
 */
add_action('woocommerce_order_status_completed', 'open_assessment_after_payment');

function open_assessment_after_payment($order_id) {

    $order = new WC_Order( $order_id );
    $items = $order->get_items();

    foreach ( $items as $item ) {
        $product_id = $item['product_id'];
    }

    $current_user = wp_get_current_user();
    $user_id = $current_user->ID;

    if($product_id == '240') {

        update_user_meta( $user_id, 'open_1', true );

    } elseif($product_id == '238') {

        update_user_meta( $user_id, 'open_2', true );

    } elseif($product_id == '239') {

        update_user_meta( $user_id, 'open_3', true );

    }
}

0 个答案:

没有答案