【问题标题】:Set Coupon used_by Customer ID manually手动设置 Coupon used_by Customer ID
【发布时间】:2020-04-15 13:20:04
【问题描述】:

如果要通过 REST API 或从管理员创建新订单端点手动添加优惠券代码,我正在寻找有关在 Woocommerce 上设置优惠券的 used_by 特定客户 user_id 的文档。但我找不到正确的方法。希望有人能指出我。以下是我目前开发的代码,但它返回 NULL。

$WC_Coupon = new WC_Coupon($request['code']);
$WC_Coupon->set_used_by( $request['customer_id'] );

【问题讨论】:

    标签: php wordpress woocommerce coupon


    【解决方案1】:

    您确定您的$WC_Coupon 已正确实例化吗?无论优惠券是如何添加到系统中的,一旦出现,它就应该像任何其他优惠券一样发挥作用。

    建议您获取 $WC_Coupon 的 var_dump 并查看它是否输出正确的值,否则,您可能没有为构造函数提供正确的代码参数。

    【讨论】:

    • 是的。 $WC_Coupon 返回优惠券代码的 ID。但是 set_used_by 函数只返回空值。我只是在寻找一种通过后端插入这些数据的手动方法。不是通常的结帐方式。
    • 您能否使用仪表板编辑这些优惠券?您能否尝试获取您尝试更改的优惠券的完整转储,以查看是否可能缺少某些内容。记住这一切,我仍然不认为一旦创建了优惠券,它就会造成任何问题,因为 WordPress/WooCommerce 是超级灵活的软件。
    【解决方案2】:

    找到答案了……正确使用的函数是increase_usage_count,而不是直接使用Coupon对象来设置used_by元键。

    $WC_Coupon = new WC_Coupon($request['code']);
    $used_by = $request['customer_id'];
    $WC_Coupon->increase_usage_count( $used_by );
    

    希望这个 sn-p 可以帮助任何通过 REST API 创建订单并需要一种方法来跟踪谁消费了优惠券代码的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-22
      • 2013-12-02
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多