我已经从存储在my_ajax_req中的$passValue中的ajax请求中检索了一个值。现在我试图在另一个函数wpsln_log_wp_user_login中使用变量的值。我为此编写了以下代码。但这是徒劳的。我已经研究过如何才能做到这一点。这是唯一的办法,但行不通。请帮助我为什么$passValue在wpsln_log_wp_user_login中不工作。
function my_ajax_req() {
global $passValue;
$passValue = $_POST['passVal'];
die();
}
add_action('wp_ajax_my_req', 'my_ajax_req' );
add_action('wp_ajax_nopriv_my_req', 'my_ajax_req' );
function wpsln_log_wp_user_login( $user_user_login, $user ) {
global $passValue;
echo $passValue;
}
add_action( 'wp_login', 'wpsln_log_wp_user_login', '60', 2 );
如果全局作用域不起作用,则使用Sessions。正如我在评论中告诉你的我使用die('Call');
来检查它是否回显会话变量保存的数据。
function my_ajax_req()
{
session_start();
$passValue = $_POST['passVal'];
$_SESSION['passValue'] = $passValue;
die();
}
add_action('wp_ajax_my_req', 'my_ajax_req');
add_action('wp_ajax_nopriv_my_req', 'my_ajax_req');
function wpsln_log_wp_user_login($user_user_login, $user)
{
$passValue = $_SESSION['passValue'];
echo $passValue;
die('Call'); // Remove die when it works
// do your further code here if require.
}
add_action('wp_login', 'wpsln_log_wp_user_login', '60', 2);