Эта функция находится в классе WC_Abstract_Order (основные файлы)Настройка пользовательских статусов заказа в качестве действительных для оплаты
/* Checks if an order needs payment, based on status and order total.
*
* @return bool
*/
public function needs_payment() {
$valid_order_statuses = apply_filters('woocommerce_valid_order_statuses_for_payment', array('pending', 'failed'), $this);
if ($this->has_status($valid_order_statuses) && $this->get_total() > 0) {
$needs_payment = true;
} else {
$needs_payment = false;
}
return apply_filters('woocommerce_order_needs_payment', $needs_payment, $this, $valid_order_statuses);
}
мне нужно добавить дополнительный статус заказа на заказ в массив, но не может работать код для functions.php, чтобы переопределить функцию, которая будет, как это - т.е. только с дополнительным статусом:
public function needs_payment() {
$valid_order_statuses = apply_filters('woocommerce_valid_order_statuses_for_payment', array('pending', 'failed','neworderstatus'), $this);
if ($this->has_status($valid_order_statuses) && $this->get_total() > 0) {
$needs_payment = true;
} else {
$needs_payment = false;
}
return apply_filters('woocommerce_order_needs_payment', $needs_payment, $this, $valid_order_statuses);
}
Любая помощь с благодарностью принято.
Спасибо.
благодарит за помощь. Я не могу отметить это, потому что я не могу заставить его работать с нашей установкой, но у меня нет оснований полагать, что ваш код неверен и должен работать для других. –
Спасибо за помощь, в конце концов я решил отказаться от плагина и использовать код, похожий на ваши функции. - Мне нужно использовать немного другой код для первого бита, поскольку он запустил ошибку с помощью плагина, который я использую, см. Мой дополнительный ответ с этим альтернативным кодом - не уверен, в чем разница, но я думаю, что-то это .. –