将自定义字段添加到自定义 Woocommerce 电子邮件
Add custom field to the custom Woocommerce Emails
我想在 woocommerce 电子邮件中添加交货日期,我使用的挂钩是
add_action( 'woocommerce_order_details_after_order_table', 'action_woocommerce_order_details_after_order_table', 10, 1 );
function action_woocommerce_order_details_after_order_table( $order ) {
...
$order_expected_delivery_date = get_post_meta($order_id, 'order_expected_delivery_date_'.$order_id, true);
if(!$order_expected_delivery_date) {
$delivery_date = getExpectedDeliveryDate($order);
update_post_meta($order_id, 'order_expected_delivery_date_'.$order_id, $delivery_date);
echo "<header><h2>Expected Delivery Date</h2></header><p style='font-size: 20px;'>".$delivery_date."<p>";
} else {
echo "<header><h2>Expected Delivery Date</h2></header><p style='font-size: 20px;'>".$order_expected_delivery_date."<p>";
}
}
但是只有在触发 woocommerce 订单电子邮件时才会调用此挂钩。我已经根据要求制作了一封自定义电子邮件,用于发送到仓库。此挂钩不适用于自定义电子邮件。
我尝试将短代码添加到自定义电子邮件中,但该短代码也不起作用。
function delivery_date_shortcode( $atts, $content = null ) {
if( is_numeric($content) ) {
$order = wc_get_order( $content );
$order_data = $order->get_data();
return '<span class="caption">' . $order_data . '</span>';
}
}
add_shortcode( 'delivery', 'delivery_date_shortcode' );
忘了告诉你,这个问题已经解决了。
// shortcode to display expected delivery date in warehouse email
function delivery_date_shortcode( $atts, $content = null ) {
$order = new \WC_Order($content);
$delivery_date = getExpectedDeliveryDate($order);
return "<header><h2 style='margin: 40px 0 18px;'>Expected Delivery Date</h2></header><p style='font-size: 20px;'>".$delivery_date."<p>";
}
add_shortcode( 'delivery', 'delivery_date_shortcode' );
函数 getExpectedDeliveryDate($order) 获取订单 ID 和 returns 预期交货日期。
谢谢。
我想在 woocommerce 电子邮件中添加交货日期,我使用的挂钩是
add_action( 'woocommerce_order_details_after_order_table', 'action_woocommerce_order_details_after_order_table', 10, 1 );
function action_woocommerce_order_details_after_order_table( $order ) {
...
$order_expected_delivery_date = get_post_meta($order_id, 'order_expected_delivery_date_'.$order_id, true);
if(!$order_expected_delivery_date) {
$delivery_date = getExpectedDeliveryDate($order);
update_post_meta($order_id, 'order_expected_delivery_date_'.$order_id, $delivery_date);
echo "<header><h2>Expected Delivery Date</h2></header><p style='font-size: 20px;'>".$delivery_date."<p>";
} else {
echo "<header><h2>Expected Delivery Date</h2></header><p style='font-size: 20px;'>".$order_expected_delivery_date."<p>";
}
}
但是只有在触发 woocommerce 订单电子邮件时才会调用此挂钩。我已经根据要求制作了一封自定义电子邮件,用于发送到仓库。此挂钩不适用于自定义电子邮件。
我尝试将短代码添加到自定义电子邮件中,但该短代码也不起作用。
function delivery_date_shortcode( $atts, $content = null ) {
if( is_numeric($content) ) {
$order = wc_get_order( $content );
$order_data = $order->get_data();
return '<span class="caption">' . $order_data . '</span>';
}
}
add_shortcode( 'delivery', 'delivery_date_shortcode' );
忘了告诉你,这个问题已经解决了。
// shortcode to display expected delivery date in warehouse email
function delivery_date_shortcode( $atts, $content = null ) {
$order = new \WC_Order($content);
$delivery_date = getExpectedDeliveryDate($order);
return "<header><h2 style='margin: 40px 0 18px;'>Expected Delivery Date</h2></header><p style='font-size: 20px;'>".$delivery_date."<p>";
}
add_shortcode( 'delivery', 'delivery_date_shortcode' );
函数 getExpectedDeliveryDate($order) 获取订单 ID 和 returns 预期交货日期。 谢谢。