我正在进行一些日期计算并将其显示在订单结帐时。喜欢预订产品的日期,例如“往返”
<td class="custom-date-cell"> <?php if (!empty($cart_item['pickup_date']) && !empty($cart_item['dropoff_date'])) { $pickup_date = date('Y-m-d', strtotime(str_replace('/', '-', $cart_item['pickup_date']))); $dropoff_date = date('Y-m-d', strtotime(str_replace('/', '-', $cart_item['dropoff_date']))); echo $pickup_date . " <br>to<br>" . $dropoff_date; } else { echo 'No dates available'; } ?> /td>
这将显示特定产品的日期。但现在我也想将这些放在 woocommerce > 订单 > 编辑订单日期中,也应该位于每个 oproduct 的前面。
我正在尝试这段代码,但遇到问题。
`add_action('woocommerce_email_order_meta', 'add_booking_dates_to_order_emails', 10, 3); 函数 add_booking_dates_to_order_emails($order, $sent_to_admin, $plain_text) {
foreach ($order->get_items() as $item_id => $item) {
$pickup_date = wc_get_order_item_meta($item_id, 'Pickup Date', true);
$dropoff_date = wc_get_order_item_meta($item_id, 'Dropoff Date', true);
if ($pickup_date && $dropoff_date) {
if ($plain_text) {
echo "Pickup Date: $pickup_date\n";
echo "Dropoff Date: $dropoff_date\n";
}
}
}
} ` 谁能帮帮我吗?谢谢
看起来问题出在日期的键上,例如。在这一行中,“取货日期”是元键,但键不应包含空格。
wc_get_order_item_meta($item_id, 'Pickup Date', true)
您能否尝试用给定的代码替换您的代码,它应该适合您。
add_action( 'woocommerce_email_order_meta', 'add_booking_dates_to_order_emails', 10, 3 );
function add_booking_dates_to_order_emails( $order, $sent_to_admin, $plain_text ) {
foreach ( $order->get_items() as $item_id => $item ) {
$pickup_date = wc_get_order_item_meta( $item_id, 'pickup_date', true );
$dropoff_date = wc_get_order_item_meta( $item_id, 'dropoff_date', true );
if ( $pickup_date && $dropoff_date ) {
if ( $plain_text ) {
echo "Pickup Date: $pickup_date\n";
echo "Dropoff Date: $dropoff_date\n";
} else {
echo "<p><strong>Pickup Date:</strong> $pickup_date</p>";
echo "<p><strong>Dropoff Date:</strong> $dropoff_date</p>";
}
}
}
}