// ==================================================
// CHECK CURRENT CURRENCY
// ==================================================
function wpflames_check_currency() {
if ( function_exists( 'get_woocommerce_currency' ) ) {
$current_currency = get_woocommerce_currency();
if ( 'EUR' === $current_currency ) {
echo 'EUR';
} else {
echo 'HUF';
}
}
}
add_shortcode('check_currency', 'wpflames_check_currency');
// ==================================================
// SET GLOBAL ECHACNGE RATE EUR-HUF ÁRFOLYAM
// ==================================================
function set_global_exchange_rate() {
global $eur_huf_exchange_rate;
$eur_huf_exchange_rate = 410;
}
add_action( 'init', 'set_global_exchange_rate' );
// ==================================================
// SET GLOBAL COD FEE AMOUNT - HUF
// ==================================================
function set_global_fee_amount_huf() {
global $cod_fee_amount_huf;
$cod_fee_amount_huf = 800;
}
add_action( 'init', 'set_global_fee_amount_huf' );
// ==================================================
// SET GLOBAL COD FEE AMOUNT - EUR
// ==================================================
function set_global_fee_amount_eur() {
global $cod_fee_amount_eur;
global $cod_fee_amount_huf;
global $eur_huf_exchange_rate;
// Ha 800 HUF az utánvét díj, és 1 EUR = 410 HUF:
$cod_fee_amount_eur = $cod_fee_amount_huf / $eur_huf_exchange_rate;
}
add_action( 'init', 'set_global_fee_amount_eur' );
// ==================================================
// ADD EXTRA FEE TO SPECIFIC PAYMENT GATEWAY => COD
// ==================================================
function add_checkout_fee_for_gateway() {
global $cod_fee_amount_huf, $cod_fee_amount_eur;
// Ellenőrizzük, melyik fizetési módot választotta a felhasználó
$chosen_gateway = WC()->session->chosen_payment_method;
// Csak akkor fut le, ha az utánvétes (COD) fizetési módot választották
if ( $chosen_gateway == 'cod' ) {
// Lekérdezzük az aktuálisan használt pénznemet
$current_currency = get_woocommerce_currency();
// A díj értékének meghatározása az éppen használt pénznem szerint
if ( 'EUR' === $current_currency ) {
$fee_amount = $cod_fee_amount_eur;
} else {
// Alapértelmezett esetben HUF
$fee_amount = $cod_fee_amount_huf;
}
// Hozzáadjuk a plusz díjat a kosárhoz
// A harmadik paraméter határozza meg, hogy adóköteles-e a díj (true/false)
WC()->cart->add_fee( __( 'Utánvét díja', 'woocommerce' ), $fee_amount, false );
}
}
add_action( 'woocommerce_cart_calculate_fees', 'add_checkout_fee_for_gateway' );
// Part 2: reload checkout on payment gateway change
function 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
}
add_action( 'woocommerce_review_order_before_payment', 'refresh_checkout_on_payment_methods_change' );
WooCommerce
Add discount checkbox field to WooCommerce checkout, save meta data, display in admin and in email
Add extra fee to COD payment gateway
Hide Free Shipping Notice of Current User is WholeSale Customer
Unset Shipping Methods if Free Shipping is Available
Unset all other shipping methods
Unset specific shipping method
Add fee to checkout for COD shipping except specific shipping zone
Display Product Price with VAT in Single Product WooCommerce
Check if multiple categories is in the cart
Disable Specific Shipping Method based on Category
Check if specific category is in the cart
Change Continue Shopping link to the Previously Visited Page in WooCommerce
This snippet changes the redirect URL for the Return To Shop button in the cart
How to display Categories and Products in Separate Lists in WooCommerce
