You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Woocommerce订单使用mycred支付网关时如何在公共函数内添加自定义规则

方案结论

完全可以在该公共函数中添加对应代码实现需求,具体实现逻辑如下:

实现步骤

  • 拿到有效订单ID后,先实例化对应订单对象(WooCommerce场景下直接使用wc_get_order($order_id)即可)
  • 调用订单对象的get_payment_method()方法获取支付网关标识,判断是否等于mycred
  • 匹配成功后执行你需要的自定义业务逻辑即可

注意事项

  • 不建议直接修改插件源文件,后续插件版本更新会覆盖自定义代码。优先确认插件是否提供了对应执行点位的钩子(action/filter),通过钩子挂载自定义逻辑是最优解。如果确实没有可用钩子,要提前做好修改记录,插件更新后手动补加逻辑即可。
  • 代码中要增加订单对象判空逻辑,避免异常报错。

修改后代码示例

/*
 * @param int $order_id 订单ID
 * @return void
 */
if ($order_id){
    if (is_object($order_id)){
        $order_id = (isset($order_id->ID)) ? $order_id->ID : 0;
    }
    // 新增mycred支付网关专属逻辑
    $order = wc_get_order($order_id);
    if ($order && $order->get_payment_method() === 'mycred') {
        // 此处编写你的自定义业务逻辑
    }
    // 原有逻辑保留
    $this->referral_refuse($order_id, $this->source_type);
}

内容的提问来源于stack exchange,提问作者Nicholas Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:39:01