我在 Woocommerce 中添加了一個日期選擇器,以允許客戶選擇何時從商店收集訂單。通過拼湊一些代碼,我什至設法在后端顯示資料,以便管理員可以在訂單螢屏上看到它。
然而,我正在努力讓資料顯示在 Woocommerce 電子郵件或客戶的前端訂單中。有什么建議?
我在后端保存和顯示的代碼如下:
function showe_save_date_order( $order_id ) {
global $woocommerce;
if ( $_POST['collection_date'] ) update_post_meta( $order_id, '_collection_date', esc_attr( $_POST['collection_date'] ) );
}
add_action( 'woocommerce_admin_order_data_after_billing_address', 'showe_collection_weight_display_admin_order_meta' );
function showe_collection_weight_display_admin_order_meta( $order ) {
echo '<p><strong>Collection Date:</strong> ' . get_post_meta( $order->get_id(), '_collection_date', true ) . '</p>';
}'''
uj5u.com熱心網友回復:
您可以使用woocommerce_email_order_meta動作掛鉤。試試下面的代碼。
add_action( 'woocommerce_email_order_meta', 'add_custom_order_meta_to_email', 10, 3 );
function add_custom_order_meta_to_email( $order, $sent_to_admin, $plain_text ){
$collection_date = get_post_meta( $order->get_order_number(), '_collection_date', true );
// Don't display anything if it is empty
if( empty( $collection_date ) )
return;
if ( $plain_text === false ) {
echo '<ul>
<li><strong>Collection Date: </strong>' . $collection_date . '</li>
</ul>';
} else {
echo "Collection Date: ". $collection_date;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/375313.html
