Javascript 使用Ajax调用WordPress筛选器操作

Javascript 使用Ajax调用WordPress筛选器操作,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我正在使用WordPress的插件。他们有一个概念验证插件,可以在结账时增加费用 这就像预期的一样,没有任何问题,但我尝试做的是让费用成为可选的,这样捐赠者就可以从前端选择是否需要增加费用 以下是创建新捐赠金额的代码部分: function give_basic_fees_add_fee( $sanitized_amount ) { $fee_percentage = (int) give_get_option( 'basic_fee_percentage' ); $fee

我正在使用WordPress的插件。他们有一个概念验证插件,可以在结账时增加费用

这就像预期的一样,没有任何问题,但我尝试做的是让费用成为可选的,这样捐赠者就可以从前端选择是否需要增加费用

以下是创建新捐赠金额的代码部分:

function give_basic_fees_add_fee( $sanitized_amount ) {
    $fee_percentage = (int) give_get_option( 'basic_fee_percentage' );
    $fee            = $sanitized_amount * ( $fee_percentage / 100 );
    $new_total      = $fee + $sanitized_amount;
    return $new_total;
}
add_filter( 'give_donation_total', 'give_basic_fees_add_fee', 1, 1 );
我要做的是用Ajax调用它。我尝试了以下方法,但不起作用:

JS:

PHP:

嗨,试试看,这可能对你有帮助。

add_action('wp_axaj_give_basic_fees_add_fee'、'give_basic_fees_add_fee');
添加行动(“wp_axaj_nopriv_give_basic_fees_add_fee”、“give_basic_fees_add_fee”);
函数给出\基本\费用\添加\费用(){
/*我只想提醒“已检查”,以便知道它正在工作,并创建
附加条件代码取决于“已检查”的值*/
$checked=intval($_POST['checked']);
回音$checked;
//在这里添加exit,否则它将在响应中给出零。
出口
}

您的代码中有一个输入错误,这应该是它不起作用的原因

而不是打字

add_action('wp_axaj_give_basic_fees_add_fee', 'give_basic_fees_add_fee'); add_action('wp_axaj_nopriv_give_basic_fees_add_fee', 'give_basic_fees_add_fee');
类型:


ajax调用的默认Wordpress前缀是wp_ajax,而不是wp_axaj。

就是这样!我昨晚注意到了这一点,忘记更新问题了。
add_action('wp_axaj_give_basic_fees_add_fee', 'give_basic_fees_add_fee');
add_action('wp_axaj_nopriv_give_basic_fees_add_fee', 'give_basic_fees_add_fee');
function give_basic_fees_add_fee( $sanitized_amount ) {

    /*I just want to alert "Checked" so I know it's working, and create
    additional conditional code depending on the value of "checked".*/
    $checked        = intval($_POST['checked']);
    echo $checked;

}
add_action('wp_axaj_give_basic_fees_add_fee', 'give_basic_fees_add_fee');
add_action('wp_axaj_nopriv_give_basic_fees_add_fee', 'give_basic_fees_add_fee');
function give_basic_fees_add_fee() {
    /*I just want to alert "Checked" so I know it's working, and create
    additional conditional code depending on the value of "checked".*/
    $checked        = intval($_POST['checked']);
    echo $checked;
//<b>Add exit here otherwise it will give zero along with response.</b>
exit;
}
add_action('wp_axaj_give_basic_fees_add_fee', 'give_basic_fees_add_fee'); add_action('wp_axaj_nopriv_give_basic_fees_add_fee', 'give_basic_fees_add_fee');
add_action('wp_ajax_give_basic_fees_add_fee', 'give_basic_fees_add_fee');
add_action('wp_ajax_nopriv_give_basic_fees_add_fee', 'give_basic_fees_add_fee');