【问题标题】:WooCommerce - How To Update 'Net Sales' Only When Payment is CompleteWooCommerce - 如何仅在付款完成后更新“净销售额”
【发布时间】:2019-06-25 23:21:20
【问题描述】:

我有一个 WooCommerce 设置,所有订单都是手动添加的。

当我添加(待处理)订单时,WooCommerce 订单状态挂钩会注册销售(用于报告)。

我希望将此过程切换到仅在订单(再次手动)设置为“完成”时调用的钩子。

有几个插件(例如https://docs.woocommerce.com/document/woocommerce-order-status-control/ / https://wordpress.org/plugins/advanced-reporting-for-woocommerce/ 等),但这些插件要么矫枉过正,要么根本不提供此功能..

我还发现了一些相关的帖子,基本上描述了为此覆盖 woocommerce 挂钩(Getting order data after successful checkout hook 等,但不幸的是,虽然解决方案对应(即调整正确的挂钩 - 上下文不同)。

在尝试覆盖/重新排序操作时,我不愿意阻止这些钩子中的功能,因此我可以使用哪些钩子来实现这一点的任何指针都会非常有用。

非常感谢!

【问题讨论】:

    标签: wordpress woocommerce


    【解决方案1】:

    也许您可以尝试使用 ... 过滤器,例如(未经测试):

    add_filter( 'woocommerce_reports_order_statuses', 'fc_order_status_reports', 20, 1 );
    function fc_order_status_reports( $statuses ) {
    
      $statuses = array('completed');
    
      return $statuses;
    
    }
    

    代码 sn-p 将添加到您的活动主题的 functions.php 文件中。

    让我知道它是否有效;)

    【讨论】:

    • 值得注意的是(乍一看)效果很好!!非常感谢@FrancescoCarlucci!
    • 嗨,我只是想问一些关于这个问题 - 由于 WooCommerce 状态每个月都会“重置”,因此是否有可能创建一个月的订单,然后完成下一个订单将不会被注册,或者会算入上个月吗?我测试了几次,它工作正常,但我完成了一个没有注册的订单,我想知道这可能是为什么?
    猜你喜欢
    • 1970-01-01
    • 2020-03-15
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 2018-01-10
    • 1970-01-01
    • 2014-03-19
    相关资源
    最近更新 更多