2015-04-25 3 views
1

Я пытаюсь удалить 3 статуса заказа из woocommerce: wc-pending, wc-refunded и wc-failed.Удаление статуса основного заказа

Я попытался удалить их с /wc-order-functions.php, но когда я это сделал, я больше не мог разместить заказ. Вместо этого возвращается ошибка 400, что означает, что она не может вставить заказ в базу данных.

У кого-нибудь есть решение для этого? Как удалять или отключать статусы заказов?

+0

Вы хотите скрыть заказы с этими статусами? или вы хотите полностью удалить их? Вы знаете, что существует сильная потребность в том, что они поставили их в ядро. Это означает, что вы не должны пытаться их удалить. – maksbd19

+0

Нет, я не хочу их удалять. я хочу не появляться в бэкэнд, отредактировать порядок раздела ... Я пытаюсь играть с элементом css и видимостью, но он раскрывает весь раскрывающийся раздел «порядок редактирования». –

+0

Может быть, я могу вам помочь, но прежде всего укажите, какие именно элементы и где вы хотите внести изменения. В Woocommerce большое количество фильтров и событий. – maksbd19

ответ

0

Пожалуйста, проверьте FAQ в посвататься расширение здесь: http://docs.woothemes.com/document/woocommerce-order-status-manager/

Q: Почему я не могу удалить статусы ядра порядка, как я могу с помощью пользовательских статусов?

A: Все плагины статуса заказа, даже те, которые вы обычно не используете в своем рабочем процессе, используются плагинами. Поскольку эти плагины ожидают присутствия статусов основного заказа, мы не можем их удалить, чтобы мы не нарушили плагины, такие как шлюзы платежей, которые зависят от них.

Вы можете редактировать имена этих статусов, если это необходимо, но не можете удалить эти статусы или изменить пули.

+0

Большое спасибо за предложение ... Есть ли хоть какое-то решение, чтобы удалить или скрыть их из списка на странице заказа без удаления функциональности и не сломать ядро ​​woocommerce? –

0

Старый вопрос, но понял, что я бы ответил на него за вас! Чтобы просто скрыть параметры выбора, использовать этот CSS:

select option[value="wc-pending"], 
select option[value="wc-refunded"], 
select option[value="wc-failed"] 
{ 
    display: none !important; 
} 
0

Вы не могли бы быть в состоянии удалить основные статусы заказов для очень хороших причин объясняется @SweetCoder, однако, что вы можете сделать, это скрыть их. Ваша функция будет выглядеть примерно так:

function hide_wc_order_statuses($order_statuses) { 

    // Hide core statuses 
    unset($order_statuses['wc-refunded']); 
    unset($order_statuses['wc-failed']); 
    unset($order_statuses['wc-on-hold']); 
    unset($order_statuses['wc-cancelled']); 
    unset($order_statuses['wc-pending']); 
    unset($order_statuses['wc-processing']); 
    unset($order_statuses['wc-completed']); 

    return $order_statuses; 
} 
add_filter('wc_order_statuses', 'hide_wc_order_statuses'); 
Смежные вопросы