Сообщение-информация WooCommerce - PullRequest
0 голосов
/ 28 апреля 2020

Используйте WooCommerce для цифровых продуктов, и, как известно, для этого типа продукта или статуса платежа он всегда обрабатывается. Чтобы устранить эту проблему, используйте следующий код, который решает проблему, но уведомление «платеж получен успешно» не синхронизирован. Кто-нибудь знает как это решить?

add_action( 'woocommerce_order_status_changed', 'ts_auto_complete_by_payment_method' );

function ts_auto_complete_by_payment_method( $order_id ) {

    if ( !$order_id ) {

        return;
    }

    global $product;

    $order = wc_get_order( $order_id );

    if ( $order->data[ 'status' ] == 'processing' ) {

        $payment_method = $order->get_payment_method();

        if ( $payment_method != "cod" ) {

            $order->update_status( 'completed' );
        }
    }
}

1 Ответ

0 голосов
/ 28 апреля 2020
add_action( 'woocommerce_before_thankyou', 'update_order_status_and_show_info' );

function update_order_status_and_show_info( $order_id ) {
    if ( !$order_id ) {

        return;
    }


    $order = wc_get_order( $order_id );

    if ( $order->get_status() == 'processing' ) {

        $payment_method = $order->get_payment_method();

        if ( $payment_method != "cod" ) {

            $order->update_status( 'completed' );
            echo "<span>Payment received successfully.</span>";
        }
    }

}

Попробуйте этот код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...