Để cải thiện khả năng xử lý và tối ưu hóa hiệu suất của hệ thống tiền tệ trong WooCommerce, chúng ta cần làm cho mã nguồn trở nên mạnh mẽ, dễ bảo trì và tối ưu hóa cho SEO. Dưới đây là mã nguồn hoàn chỉnh giúp bạn thêm loại tiền tệ mới (Gold), đồng thời quy đổi tỷ giá giữa Gold và VND một cách hiệu quả và có thể dễ dàng bảo trì.
Code Cải Tiến và Tối Ưu
Dưới đây là mã nguồn hoàn chỉnh và tối ưu để bạn thêm loại tiền tệ mới và quy đổi tỷ giá giữa Gold và VND.
1. Thêm Loại Tiền Tệ Mới và Ký Hiệu Cho Gold
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | /** * Thêm loại tiền tệ mới vào WooCommerce: Gold */ add_filter( 'woocommerce_currencies', 'muathemewpgiare_add_custom_currency' ); function muathemewpgiare_add_custom_currency( $currencies ) { // Thêm loại tiền "Gold" vào danh sách tiền tệ $currencies['GOLD'] = __( 'Gold', 'muathemewpgiare' ); return $currencies; } /** * Thêm ký hiệu cho tiền tệ Gold */ add_filter('woocommerce_currency_symbol', 'muathemewpgiare_add_currency_symbol', 10, 2); function muathemewpgiare_add_currency_symbol( $currency_symbol, $currency ) { switch( $currency ) { case 'GOLD': // Ký hiệu của Gold là "G" $currency_symbol = 'G'; break; } return $currency_symbol; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /** * Quy đổi tỷ giá giữa Gold và VND * Tỷ giá giả sử 1 GOLD = 100,000 VND */ function muathemewpgiare_convert_gold_to_vnd( $amount_in_gold ) { // Tỷ giá chuyển đổi từ Gold sang VND $exchange_rate = 100000; return $amount_in_gold * $exchange_rate; } /** * Quy đổi từ VND sang Gold * Giả sử tỷ giá 1 GOLD = 100,000 VND */ function muathemewpgiare_convert_vnd_to_gold( $amount_in_vnd ) { $exchange_rate = 100000; return $amount_in_vnd / $exchange_rate; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /** * Hiển thị giá sản phẩm trong Gold và chuyển đổi sang VND khi cần */ add_filter( 'woocommerce_get_price_html', 'muathemewpgiare_display_price_in_gold_or_vnd', 10, 2 ); function muathemewpgiare_display_price_in_gold_or_vnd( $price_html, $product ) { $currency = get_woocommerce_currency(); // Lấy loại tiền tệ hiện tại if ( $currency === 'GOLD' ) { // Lấy giá sản phẩm và quy đổi sang VND $price_in_gold = $product->get_price(); $price_in_vnd = muathemewpgiare_convert_gold_to_vnd( $price_in_gold ); // Hiển thị giá đã quy đổi sang VND $price_html = '<span class="price">' . wc_price( $price_in_vnd ) . ' VND</span>'; } return $price_html; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /** * Hiển thị tổng giá trị đơn hàng trong Gold và VND */ add_action( 'woocommerce_after_order_total', 'muathemewpgiare_display_total_in_gold_or_vnd', 20 ); function muathemewpgiare_display_total_in_gold_or_vnd( $order ) { $currency = $order->get_currency(); // Lấy loại tiền tệ của đơn hàng if ( $currency === 'GOLD' ) { // Lấy tổng giá trị đơn hàng và quy đổi sang VND $total_in_gold = $order->get_total(); $total_in_vnd = muathemewpgiare_convert_gold_to_vnd( $total_in_gold ); echo '<p>' . __('Total in Gold:', 'muathemewpgiare') . ' ' . $total_in_gold . ' GOLD (' . wc_price( $total_in_vnd ) . ' VND)</p>'; } } |
Kết Luận
Bằng cách sử dụng mã nguồn trên, bạn có thể dễ dàng thêm loại tiền tệ mới (Gold) vào WooCommerce và quy đổi tỷ giá giữa Gold và VND. Đoạn mã này không chỉ tối ưu hiệu suất mà còn giúp bạn quản lý tiền tệ linh hoạt, cải thiện SEO và đảm bảo tính bảo mật cho website. Hãy thử áp dụng ngay và trải nghiệm sự tiện lợi này trong WooCommerce.
- 15 chức năng nâng cao giúp trang giỏ hàng WooCommerce chuyên nghiệp hơn
- Cách Vô Hiệu Hóa Trường Phiếu Giảm Giá WooCommerce
- Sharecode plugin bộ lọc khoảng giá cho wordpress không cần plugin
- Giới thiệu tính năng Flash Sale “Đã bán bao nhiêu” giống Shopee
- [Thủ thuật wordpress] Hướng dẫn code chức năng tạo và gửi mã giảm giá tự động khi người dùng đăng ký tài khoản không dùng plugin