php Woocommerce拒绝多个失败订单的结账

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Woocommerce拒绝多个失败订单的结账相关的知识,希望对你有一定的参考价值。

<?php
add_action('woocommerce_after_checkout_validation', 'bbloomer_deny_checkout_user_pending_orders');
 
function bbloomer_deny_checkout_user_pending_orders( $posted ) {
    global $woocommerce;
    $checkout_email = $posted['billing_email'];
    $user = get_user_by( 'email', $checkout_email );
    
    if ( ! empty( $user ) ) {
        $customer_orders = get_posts( array(
            'numberposts' => -1,
            'meta_key'    => '_customer_user',
            'meta_value'  => $user->ID,
            'post_type'   => 'shop_order', // WC orders post type
            'post_status' => 'wc-failled' // Only orders with status "completed"
        ) );
        foreach ( $customer_orders as $customer_order ) {
            $count++;
        }
        if ( $count > 0 ) {
            wc_add_notice( 'Sorry, please pay your pending orders first by logging into your account', 'error');
        }
    }
}
?>

以上是关于php Woocommerce拒绝多个失败订单的结账的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WooCommerce 的订单支付页面上检索订单 ID

将 WooCommerce 订单发送到 NetSuite

在 Woocommerce 订单管理列表中显示用户失败并取消订单计数

如何获取 woocommerce 订单的订单 ID 以在 functions.php 中的函数中使用?

更改 Woocommerce 结帐端点以显示订单摘要详细信息

php 在woocommerce订单中设置最大权重