php - WooCommerce 订单状态(自动完成订单)

标签 php wordpress woocommerce payment-gateway orders

我正在 WordPress 上使用 WooCommerce 插件制作一个简单的电子商务网站。我使用 Paypal 作为我的支付网关。当用户从我的商店购买产品并成功付款时,WooCommerce 应自动将订单状态'待处理'更改为“已完成”,但不会更改订单状态

我怎样才能实现这个目标?

最佳答案

这是一个片段代码(您可以在 wooCommerce 文档中找到):

/**
 * Auto Complete all WooCommerce orders.
 */
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order');
function custom_woocommerce_auto_complete_order( $order_id ) {
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );
}

But this snippet does not work for "BACS", "Pay on delivery" and "Cheque" payment methods. It's ok for Paypal and Credit Card gateways payment methods.

还有一个 WordPress (woocommerce) 免费插件,适用于除某些其他信用卡网关付款方式之外的所有付款方式:

Auto complete paid Orders (depending on Payment methods)

WooThemes - WooCommerce Autocomplete Orders

问候

关于php - WooCommerce 订单状态(自动完成订单),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34744966/

相关文章:

javascript - Wordpress jQuery - 选中复选框时添加类,取消选中时删除

php - 如何将 mysql_real_escape_string 转换为 PHP7?

php - Woocommerce 选择与多个元值匹配的订单

php - 使用php的数组数据问题

php - 迁移数据,从 latin1 字符集到 UTF-8

php - Outlook 将电子邮件标记为垃圾邮件

php - 以编程方式设置运输方式 Woocommerce

php - Woocommerce 在选项卡内添加部分

php - 存储注册和验证 IP 的充分理由有哪些

php - Facebook PHP SDK