我想在两个add\\u操作之间共享一个变量。目前我正在尝试使用全局。然而,它不起作用。下面这个简单的例子说明了这个问题。在本例中,test_before_send_mail()
之前运行test_get_form_post_callback()
.
$test = \'123\';
add_action(\'wpcf7_before_send_mail\', \'test_before_send_mail\');
function test_before_send_mail() {
global $test;
$test = \'456\';
}
add_action(\'wp_ajax_test_get_form_post\', \'test_get_form_post_callback\',1);
add_action(\'wp_ajax_nopriv_test_get_form_post\', \'test_get_form_post_callback\',1);
function test_get_form_post_callback() {
global $test;
echo $test; ($test is equal to 123 still, when it should be equal to 456.)
}
我尝试过改变add_action
优先级级别,并尝试通过函数直接传递变量。我想这可能与wpcf7_before_send_mail
明确地有人知道如何让它工作吗?编辑:要添加更多关于我正在尝试做的事情,请在提交联系人表格7时运行(wpcf7_before_send_mail
). 我正在使用一个add\\u操作来钩住它。此时设置了一些变量,我需要稍后使用。
提交联系人表单7后,我使用JavaScript强制表单重定向。在这个重定向过程中,我需要从以前访问这些变量,所以我使用了一个add\\u action Ajax挂钩。
我也不能使用cookie或会话。我尝试了这两种方法,但要么在某些浏览器中失败,要么在某些具有会话缓存的服务器上失败。