在电子邮件上获取 WooCommerce 订单日期时间
Get WooCommerce order date time on emails
我将以下功能添加到网站前端的几个位置,以显示基于当前日期的预计交货日期:
<?php $del_from = date('jS F', strtotime("+10 days"));
$del_to = date('jS F', strtotime("+30 days"));
$html = "Order today for estimated delivery between <b>{$del_from}</b> and <b>{$del_to}</b>. <a href='deliveryinfopageURL' target='_blank'>Read more about delivery</a>.";
echo $html;
?>
我想将其包含在发货通知电子邮件中(文本略有不同),但我不想使用当前日期 + X 天,而是使用订单日期 + X 天,因为那是履行过程开始。这可能吗?
还有什么需要更改才能使其在 WooCommerce 电子邮件模板中工作吗?比如改变超链接在文本中的放置方式?
在大多数电子邮件模板或电子邮件挂钩中,WC_Order
对象 $order
是可访问的,因此您可以使用以下 WC_Order
方法之一:
get_date_created()
,
get_date_modified()
,
get_date_paid(
),
get_date_completed()
您将获得 WC_DateTime
对象,您可以在代码中使用该对象,例如:
<?php
$order_datetime = $order->get_date_created(); // Get order created date ( WC_DateTime Object )
$order_timestamp = $order_datetime->getTimestamp(); // get the timestamp in seconds
$day = 86400; // 1 day in seconds
$delivery_url = 'deliveryinfopageURL'; // <== Set the correct URL to the delivery page
$delivery_txt = __("Read more about delivery", "woocommerce");
// Output / display
printf(
__('Order today for estimated delivery between %s and %s. %s', "woocommerce"),
'<strong>'.date('jS F', $order_timestamp + (10 * $day) ).'</strong>',
'<strong>'.date('jS F', $order_timestamp + (30 * $day) ).'</strong>',
'<a href="'.$delivery_url.'" target="_blank">'.$delivery_txt.'</a>'
);
?>
它应该适用于电子邮件模板。
If the WC_order
object is not accessible, but you can access the related WC_email
object $email
and get the WC_Order
object with: $order = $email->object;
我将以下功能添加到网站前端的几个位置,以显示基于当前日期的预计交货日期:
<?php $del_from = date('jS F', strtotime("+10 days"));
$del_to = date('jS F', strtotime("+30 days"));
$html = "Order today for estimated delivery between <b>{$del_from}</b> and <b>{$del_to}</b>. <a href='deliveryinfopageURL' target='_blank'>Read more about delivery</a>.";
echo $html;
?>
我想将其包含在发货通知电子邮件中(文本略有不同),但我不想使用当前日期 + X 天,而是使用订单日期 + X 天,因为那是履行过程开始。这可能吗?
还有什么需要更改才能使其在 WooCommerce 电子邮件模板中工作吗?比如改变超链接在文本中的放置方式?
在大多数电子邮件模板或电子邮件挂钩中,WC_Order
对象 $order
是可访问的,因此您可以使用以下 WC_Order
方法之一:
get_date_created()
,get_date_modified()
,get_date_paid(
),get_date_completed()
您将获得 WC_DateTime
对象,您可以在代码中使用该对象,例如:
<?php
$order_datetime = $order->get_date_created(); // Get order created date ( WC_DateTime Object )
$order_timestamp = $order_datetime->getTimestamp(); // get the timestamp in seconds
$day = 86400; // 1 day in seconds
$delivery_url = 'deliveryinfopageURL'; // <== Set the correct URL to the delivery page
$delivery_txt = __("Read more about delivery", "woocommerce");
// Output / display
printf(
__('Order today for estimated delivery between %s and %s. %s', "woocommerce"),
'<strong>'.date('jS F', $order_timestamp + (10 * $day) ).'</strong>',
'<strong>'.date('jS F', $order_timestamp + (30 * $day) ).'</strong>',
'<a href="'.$delivery_url.'" target="_blank">'.$delivery_txt.'</a>'
);
?>
它应该适用于电子邮件模板。
If the
WC_order
object is not accessible, but you can access the relatedWC_email
objectWC_Order
object with:$order = $email->object;