Есть ли ловушка, которую я могу использовать для выполнения следующих действий в WooCommerce V3.5, включает / shortcodes / class-wc-shortcode-checkout.php
Я создал пользовательский статус заказа ('invoice-status'), который позволяет оплачивать заказы, содержащие продукты, которых в настоящее время нет в наличии. Это разрешено только для заказов, созданных администратором со статусом счета. Ссылка на заказ отправляется клиенту, чтобы он мог произвести оплату.
Это все возможно для заказов, которые имеют статус отложенной оплаты ('pending'), однако WooCommercer запускает проверку, включающую в себя / shortcodes / class-wc-shortcode-checkout.php, которая проверяет все статусы заказов, кроме 'pending 'чтобы увидеть, есть ли какие-либо продукты на складе. Если какого-либо товара в заказе нет в наличии, заказ не может быть размещен.
Выше приведено простое решение, позволяющее обойти эту проблему, так что заказы с созданным мной заказным статусом «invoice-status» могут быть размещены, даже если товара нет на складе.
Изменение основных файлов - нет, нет, я знаю. Есть ли ловушка или другая логика, которую я мог бы использовать для достижения того же результата?
//Original on line 119
( ! $order->has_status( 'pending' ) {
//do checks
}
//Modified:
if ( ! $order->has_status( 'pending' ) && !$order->has_status( 'invoice-status' ) ) {
//do checks
}