Я пытаюсь добавить мета Ready_by
к заказу, беря время, установленное Order Due Date
, и вычитая из него час. Это значение Order Due Date
устанавливается с помощью плагина Дата доставки заказа Pro , который добавляет календарный указатель даты / времени к оформлению заказа.
Я пробовал между хуками woocommerce_checkout_create_order
и woocommerce_thankyou
и не мог заставить его работать.
Вот код, который у меня есть в файле functions.php:
// Assign default ready by time by deducting an hour from the delivery due time
add_action('woocommerce_thankyou', 'define_default_ready_by_time', 10, 1);
function define_default_ready_by_time( $order_id ) {
$order = wc_get_order($order_id);
$order_due_time = get_post_meta($order, 'Order Due Date', true);
$ready_by_default = date('H:i',strtotime('-1 hour',strtotime(date('Y-m-d H:i:s',strtotime(str_replace('/','-',$order_due_time))))));
$order->update_meta_data( 'Ready_by', $ready_by_default);
}
Если кто-нибудь сможет пролить свет на это, это будет очень цениться. Спасибо!