Моя цель состоит в том, чтобы отправить клиенту электронное письмо с пользовательским текстом, если статус заказа приостановлен и время создания заказа составляет 48 часов или более.
- заказ 48 часов или более
- отправить письмо клиенту
- попросить клиента заплатить
- включите ссылку на заказ (на страницу оплаты моего аккаунта)
Я пытаюсь использовать код из ответа на один из моих предыдущих вопросов о Автоматическом отмене заказа через X дней, если в WooCommerce нет оплаты.
Я слегка изменил код:
add_action( 'restrict_manage_posts', 'on_hold_payment_reminder' );
function on_hold_payment_reminder() {
global $pagenow, $post_type;
if( 'shop_order' === $post_type && 'edit.php' === $pagenow
&& get_option( 'unpaid_orders_daily_process' ) < time() ) :
$days_delay = 5;
$one_day = 24 * 60 * 60;
$today = strtotime( date('Y-m-d') );
$unpaid_orders = (array) wc_get_orders( array(
'limit' => -1,
'status' => 'on-hold',
'date_created' => '<' . ( $today - ($days_delay * $one_day) ),
) );
if ( sizeof($unpaid_orders) > 0 ) {
$reminder_text = __("Payment reminder email sent to customer $today.", "woocommerce");
foreach ( $unpaid_orders as $order ) {
// HERE I want the email to be sent instead <=== <=== <=== <=== <===
}
}
update_option( 'unpaid_orders_daily_process', $today + $one_day );
endif;
}
Это часть электронной почты, которую я хочу синхронизировать с вышеуказанным (см. Комментарии к коду):
add_action ('woocommerce_email_order_details', 'on_hold_payment_reminder', 5, 4);
function on_hold_payment_reminder( $order, $sent_to_admin, $plain_text, $email ){
if ( 'customer_on_hold_order' == $email->id ){
$order_id = $order->get_id();
echo "<h2>Do not forget about your order..</h2>
<p>CUSTOM MESSAGE HERE</p>";
}
}
Так как я могу отправить напоминание по электронной почте для уведомлений «на удержании» с пользовательским текстом?