问题描述
使用以下代码,我会在 WooCommerce 结帐页面上显示一条自定义消息。当客户在周六和周日下订单时,订单将在下周一交付。如果客户在周一至周五22:00后下单,则后天发货。如果客户在周一至周五 22:00 之前下订单,则会在次日发货。
function bbloomer_notice_shipping() {
date_default_timezone_set( 'Europe/Amsterdam' );
// if SAT delivery will be MON
if ( date( 'N' ) >= 6 ) {
$del_day = date( "l jS F",strtotime( "next monday" ) );
$order_by = "maandag";
}
// if bestelling vindt plaats op MON/FRI na 22 uur delivery will be day after tomorrow
elseif ( date( 'H' ) >= 22 ) {
$del_day = date( "l jS F",strtotime( "tomorrow + 1day" ) );
$order_by = "overmorgen";
}
// if bestelling vindt plaats op MON/FRI voor 22 uur delivery will be tomorrow
else {
$del_day = date( "l jS F",strtotime( "tomorrow" ) );
$order_by = "vandaag";
}
$chosen_shipping_method_id = WC()->session->get( 'chosen_shipping_methods' )[0];
if ($chosen_shipping_method_id == 'flat_rate:1') {
$verzend_melding = 'wordt bezorgt op '.$del_day.'';
}
elseif ($chosen_shipping_method_id == 'local_pickup:4') {
$verzend_melding = 'kan worden opgehaald op '.$del_day.'';
}
elseif ($chosen_shipping_method_id == 'local_pickup:3') {
$verzend_melding = 'kan worden opgehaald op '.$del_day.'';
}
echo "<tr><td colspan='2'><i>Uw bestelling $verzend_melding</i></td></tr>";
}
现在,我想要做的是将此消息/通知添加到电子邮件通知和 WooCommerce 的后端订单视图中。有人能指出我正确的方向吗?
解决方法
我在一个函数中修改了您的 WooCommerce 订单代码,用于在以下位置显示自定义交付消息:
- 管理单个订单
- 客户订单(收到的订单和订单查看)
- 电子邮件通知
代码如下:
<MyBtn
{...{
onClick: () => setBtnClicked(true),text: 'Document',...(btnClicked ? { color: 'white',bg: 'blue.500' } : { color: 'blue.500',bg: 'white' }),}}
/>
代码位于活动子主题(或活动主题)的functions.php 文件中。它应该可以工作。