下面是用來匯出黑貓宅急便的範本,對應好欄位後就能一鍵匯出,當然也要自己修改,例如我有判斷什麼付款方式會變成貨到付款
add_filter('woe_get_order_value_combined_shipping_address', function($value, $order, $fieldname) { // 使用 WooCommerce 方法取得欄位資料 $shipping_state = $order->get_shipping_state(); // 縣市 $shipping_city = $order->get_shipping_city(); // 城市/區域 $shipping_address_1 = $order->get_shipping_address_1(); // 地址一 // 自行處理州/省的中文轉換 $state_names = [ 'TAIPEI CITY' => '臺北市', 'NEW TAIPEI CITY' => '新北市', 'TAOYUAN CITY' => '桃園市', 'TAICHUNG CITY' => '臺中市', 'TAINAN CITY' => '臺南市', 'KAOHSIUNG CITY' => '高雄市', 'KEELUNG CITY' => '基隆市', 'HSINCHU CITY' => '新竹市', 'CHIAYI CITY' => '嘉義市', 'HSINCHU COUNTY' => '新竹縣', 'MIAOLI COUNTY' => '苗栗縣', 'CHANGHUA COUNTY' => '彰化縣', 'NANTOU COUNTY' => '南投縣', 'YUNLIN COUNTY' => '雲林縣', 'CHIAYI COUNTY' => '嘉義縣', 'PINGTUNG COUNTY' => '屏東縣', 'YILAN COUNTY' => '宜蘭縣', 'HUALIEN COUNTY' => '花蓮縣', 'TAITUNG COUNTY' => '臺東縣', 'PENGHU COUNTY' => '澎湖縣', 'KINMEN COUNTY' => '金門縣', 'LIENCHIANG COUNTY' => '連江縣', ]; $shipping_state_full = isset($state_names[$shipping_state]) ? $state_names[$shipping_state] : $shipping_state; // 組合成完整地址 $combined_address = $shipping_state_full . ' ' . $shipping_city . ' ' . $shipping_address_1; return $combined_address; }, 10, 3); add_filter('woe_get_order_value_shipping_state_check', function($value, $order, $fieldname) { // 獲取 shipping_state 的值 $shipping_state = $order->get_shipping_state(); // 判斷值是否等於 "TAINAN CITY" if ($shipping_state === 'TAINAN CITY') { return '0'; // 如果是 TAINAN CITY } else { return '1'; // 如果不是 } }, 10, 3); add_filter('woe_get_order_value_payment_method_subtotal', function($value, $order, $fieldname) { // 獲取付款方式和訂單小計 $payment_method = $order->get_payment_method(); $order_subtotal = $order->get_subtotal(); // 判斷付款方式 if ($payment_method === 'woocg-post-513' || $payment_method === 'woocg-post-514') { return $order_subtotal; // 如果符合條件,返回訂單小計 } else { return '0'; // 如果不符合條件,返回 "0" } }, 10, 3); add_filter('woe_get_order_value_shipping_date', function($value, $order, $fieldname) { // 獲取自訂欄位 additional_deliver_date $additional_deliver_date = $order->get_meta('additional_deliver_date'); // 確保欄位有值 if (!empty($additional_deliver_date)) { // 將日期轉換為 DateTime 格式並減去一天 try { $deliver_date = new DateTime($additional_deliver_date); $deliver_date->modify('-1 day'); // 減去一天 return $deliver_date->format('Y-m-d'); // 格式化日期為 YYYY-MM-DD } catch (Exception $e) { return 'Invalid Date'; // 如果日期格式錯誤 } } return 'No Date'; // 如果欄位不存在或為空 }, 10, 3); add_filter('woe_get_order_value_custom_order_number', function($value, $order, $fieldname) { // 獲取訂單編號 $order_number = $order->get_order_number(); // 在訂單編號前加上固定值 return 'M2024-' . $order_number; }, 10, 3);