為購物網站備註第二種貨幣
研究了整天終於完成我的需求
我的購物網站只需要兩種貨幣共同顯示
但是結帳時必須指定一種貨幣結帳
所以我的後台設定了結帳所指定的貨幣
並安裝可供轉換的貨幣外掛
但是問題出現在結帳時,只會顯示新台幣的金額
也就是說,當我外掛改成港幣的時候
結帳時貨幣將轉換成新台幣
香港顧客可能會覺得資訊混亂,一下港幣一下新台幣?
故第一階段
我在訂單結帳的頁面底下
加上了如果選擇指定付款方式結帳,總計下會加一行並顯示港幣金額
效果如下
結帳總計下顯示第二種貨幣之步驟
後台>佈景主題編輯器>你正在使用的主題>functions.php
在底下空白處加上以下函數:
// 增加港幣add_action( 'woocommerce_review_order_after_order_total', 'review_order_after_order_total_callback' );function review_order_after_order_total_callback(){$amount = WC()->cart->cart_contents_total;$chosen_gateway = WC()->session->get( 'chosen_payment_method' );if ( $chosen_gateway == 'bacs' ) {?><th>港幣總計</th><td>HKD$ <?php echo round($amount * 0.28) ; ?> </td><?php}}
bacs 更改成你指定的付款方式代碼
港幣總計、HKD$ 更改成你要顯示的文字
round(...) 四捨五入到整數
接著加上以下函數(如果【附加費用教學】已加過以下函數,就不需要重複):
// 重新整理總計區塊add_action( 'woocommerce_review_order_before_payment', 'bbloomer_refresh_checkout_on_payment_methods_change' );function bbloomer_refresh_checkout_on_payment_methods_change(){?><script type="text/javascript">(function($){$( 'form.checkout' ).on( 'change', 'input[name^="payment_method"]', function() {$('body').trigger('update_checkout');});})(jQuery);</script><?php}
收到訂單備註第二種貨幣
效果如下
步驟
打開文件>../wp-content/plugins/woocommerce/templates/checkout/thankyou.php
找到 <?php echo wp_kses_post( $order->get_formatted_order_total() ); ?>
在之後加上以下函數:
|HKD$ <?php echo round( $order->order_total* 0.28 ) ; ?>
收到訂單之詳細資料加上第二種貨幣
步驟
打開文件>../wp-content/plugins/woocommerce/templates/order/order-details.php
找到:
<td><?php echo ( 'payment_method' === $key ) ? esc_html( $total['value'] ) : wp_kses_post( $total['value'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></td>
</tr>
<?php
}
?>
在之後加上以下函數:
<tr>
<th>港幣總計</th><td>HKD$ <?php echo round( $order->order_total* 0.28 ) ; ?></td>
</tr>
最後:後台訂單備註上貨幣資訊
後台>佈景主題編輯器>你正在使用的主題>functions.php
在底下空白處加上以下函數:
// 後台訂單加備註function kia_display_order_data_in_admin( $order ){ ?><div class="order_data_column"><h4><?php _e( '港幣總計' ); ?></h4>HKD$ <?php echo round( $order->order_total* 0.28 ) ; ?></div><?php }add_action( 'woocommerce_admin_order_data_after_order_details', 'kia_display_order_data_in_admin' );
補充
寄給顧客的 訂單確認信 明細加上第二種貨幣顯示
修改文件 ../wp-content/plugins/woocommerce/templates/emails/email-order-details.php
找到 </tfoot>
在其上一行加上加上以下函數:
<tr><th class="td" scope="row" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;">港幣總計</th><td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>;">HKD$ <?php echo round( $order->order_total* 0.28 ) ; ?></td></tr>
效果如下:






