Приведенный ниже код работает нормально на локальном хосте, но не работает на работающем сервере
Код используется, чтобы пометить все неоплаченные заказы как «Сбой», еслиплатеж не получен даже после 10 минут создания заказа
Код является модифицированной версией кода, взятого из Плагин Woocommerce (строки с 852 по 877)
// Unpaid orders marked as Failed if payment is not received even after 10 minutes of order creation
function custom_wc_cancel_unpaid_orders() {
$held_duration = strtotime( '-10 minutes');
$data_store = WC_Data_Store::load( 'order' );
$unpaid_orders = $data_store->get_unpaid_orders( strtotime( '-10 minutes', current_time( 'timestamp' ) ) );
if ( $unpaid_orders ) {
foreach ( $unpaid_orders as $unpaid_order ) {
$order = wc_get_order( $unpaid_order );
if ( apply_filters( 'woocommerce_cancel_unpaid_order', 'checkout' === $order->get_created_via(), $order ) ) {
$order->update_status( 'failed', __( 'Unpaid order marked failed - time limit reached.', 'woocommerce' ) );
}
}
}
wp_clear_scheduled_hook( 'woocommerce_cancel_unpaid_orders' );
wp_schedule_single_event( time() + ( absint( $held_duration ) * 60 ), 'woocommerce_cancel_unpaid_orders' );
}
add_action( 'woocommerce_cancel_unpaid_orders', 'custom_wc_cancel_unpaid_orders' );
Может кто-нибудь сказать мне, почему он работает на локальном хосте, но не на живом сервере?