我正在尝试在无页面加载的情况下通过单击按钮在结帐页面中添加额外的费用,但是它不起作用。请看一下代码:
// 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 );
}