Я пытаюсь добавить дополнительную плату на странице оформления заказа одним нажатием кнопки без загрузки страницы, но она не работает. Пожалуйста, взгляните на код:
// localizeing script
add_action('init', 'custom_script_init');
function custom_script_init(){
wp_register_script('custom_script', get_template_directory_uri() . '/js/custom.js', array('jquery'), '', true );
wp_enqueue_script('custom_script');
wp_localize_script( 'custom_script', 'custom_script_object', array(
'ajaxurl' => admin_url( 'admin-ajax.php' )
));
}
add_action( 'wp_ajax_nopriv_subscriptionUpdate', 'subscriptionUpdateFunction' );
add_action( 'wp_ajax_subscriptionUpdate', 'subscriptionUpdateFunction' );
// Processing Ajax request
function subscriptionUpdateFunction(){
add_action( 'woocommerce_cart_calculate_fees','endo_handling_fee', 20, 1 );
function endo_handling_fee() {
global $woocommerce;
$fee = 6.99;
$woocommerce->cart->add_fee( 'Handling', $fee, true );
}
wp_die();
}
Этот код ниже отлично работает вне функции subscriptionUpdateFunction, но не работает внутри функции.
add_action( 'woocommerce_cart_calculate_fees','endo_handling_fee', 20, 1 );
function endo_handling_fee() {
global $woocommerce;
$fee = 6.99;
$woocommerce->cart->add_fee( 'Handling', $fee, true );
}