我从 my_ajax_req 中 $ passValue 中存储的ajax请求中检索了一个值。现在我试图在另一个函数 wpsln_log_wp_user_login 中使用变量的值。我已经写了以下代码。但这是徒劳的。我已经搜索过如何做到这一点。这是一个ans。但这不起作用。请帮助我 $ 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 );
答案 0 :(得分:0)
如果全局范围不起作用,请使用会话。正如我在评论中告诉你的那样
我使用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);