我正在使用Give插件,并且我尝试编写一些测试代码以在结帐时传递新值。
我尝试将值传递给带有Ajax请求的过滤器,但过滤器不会获取新值,只会获取原始值。
PHP:
add_action('wp_ajax_test', 'test');
add_action('wp_ajax_nopriv_test', 'test');
$test_amount = 400; //Initialize variable with test amount.
function test(){
global $test_amount;
$test_amount = 200;
echo $test_amount; //Confirm I'm echoing 200 when test() is called via Ajax (it is)
wp_die();
}
function give_basic_fees_add_fee($test_amount) {
global $test_amount;
return $test_amount; // This is returning 400 when it should be returning 200
}
add_filter( 'give_donation_total', 'give_basic_fees_add_fee', 1, 1 );
此外,如果可能的话,我想了解如何在不使用global
的情况下实现此目的的提示。